Android: как сделать анимацию поверх фонового изображения - PullRequest
0 голосов
/ 24 августа 2011

То, что я пытаюсь сделать, это иметь фоновое изображение, для простоты, скажем, это изображение фасада дома.Затем я хочу, чтобы красный шар двигался из окна в окно.

** Я хочу иметь фоновое изображение и картинку поверх него.

** Затем я хочу иметь возможность точно указать верхнему изображению, куда идти.

Как я могу это сделать?

Я только начинаю узнавать об анимации в Android и пока не сталкивался с этим.

1 Ответ

0 голосов
/ 13 сентября 2011

Есть два пути к анимации в Android: Canvas и OpenGL ES.Я бы порекомендовал OpenGL для всего, что требует плавности и скорости, например, движущегося мяча.Вы должны создать представление, используя вспомогательный класс GLSurfaceView http://android -developers.blogspot.com / 2009/04 / introduction-glsurfaceview.html , и реализовать Renderer.

Я предполагаю, что у вас есть изображения, сохраненные в ваших res/drawable папках, в формате, подобном png, а файл ball содержит альфа-канал.

В Интернете вы можете увидеть множество учебных пособий, но в основном вам необходимо загрузитьваше фоновое изображение и ваш ресурс шара в onSurfaceCreated и сохраните его в текстуре, используя GLUtils.texImage2D.

В методе onDrawFrame вы должны настроить 2D-проекцию, такую ​​как glOrtho2D, а затем нарисовать фон.

Затем, перед тем как нарисовать текстуру шара, вы можете использоватьglTranslate(x,y,0) функция для перемещения мяча по дому.Используйте альфа-смесь для мяча:

glBlendFunc(GL_SRC_ALPHA, GL_SRC_ONE_MINUS_ALPHA);
glEnable(GL_BLEND);

К сожалению, писать в OpenGL не так просто, как вы могли бы надеяться.Все сделано с 3D-координатами, несмотря на то, что вам нужно только 2D-изображение.Но, надеюсь, это даст вам достаточно информации для Google для хороших примеров, которых в изобилии!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...