Есть два пути к анимации в 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 для хороших примеров, которых в изобилии!