2011-08-24 30 views
0

我想要做的是有背景图片,为了简单起见,可以说这是一个房子前面的图片。然后,我想要一个红色的球从一个窗口移动到另一个窗口。Android:如何在背景图像上创建动画

**我想要一个背景图片和一张图片。

**然后,我希望能够将最清晰的图片确切地告诉去哪里。

我该怎么做?

我刚刚开始了解Android中的动画,并且尚未以任何方式执行此操作。

回答

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存储在纹理。

在方法中,您应该设置一个2D投影,如glOrtho2D,然后绘制背景。

然后就在您绘制球纹理之前,您可以使用glTranslate(x,y,0)函数将球移过房子。使用alpha混合球:

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

不幸的是,在OpenGL中编写并不像您所希望的那样直截了当。尽管您只需要2D图像,但一切都是用3D坐标完成的。但希望这给你足够的信息谷歌良好的exmaples,这是丰富的!