我想要做的是有一个背景图片,为了简单起见,让我们说这是一张房子前面的照片。然后,我想让一个红球从一个窗口移动到另一个窗口。
**我想要一张背景图片和一张照片。
**然后我希望能够准确地告诉顶部图片去哪里。
我该怎么做?
我刚刚开始了解Android中的动画,并且还没有尝试过任何方式。
答案 0 :(得分:0)
Android中有两种动画方式:Canvas
和OpenGL ES。
我建议OpenGL用于任何需要平滑和速度的东西,比如移动球。
您应该使用帮助程序类GLSurfaceView
创建一个视图
http://android-developers.blogspot.com/2009/04/introducing-glsurfaceview.html,并实施Renderer
。
我假设您已将图像保存在res/drawable
文件夹中,格式为png
,并且球文件包含Alpha通道。
您可以在线查看许多教程,但基本上您需要在onSurfaceCreated
加载背景图片和球资源,并使用GLUtils.texImage2D
将其存储在纹理中。
在onDrawFrame
方法中,您应该设置一个2D投影,例如glOrtho2D
,然后绘制背景。
然后在绘制球纹理之前,您可以使用glTranslate(x,y,0)
功能将球移到球屋上方。使用alpha混合球:
glBlendFunc(GL_SRC_ALPHA, GL_SRC_ONE_MINUS_ALPHA);
glEnable(GL_BLEND);
不幸的是,在OpenGL中写作并不像你希望的那样简单。尽管您只想要2D图像,但一切都是通过3D坐标完成的。但希望这能为你提供足够的信息来获得丰富的exmaples,这些信息很丰富!