如何在Android Canvas中制作动画?

时间:2011-01-29 21:31:31

标签: android animation canvas

为了达到这个目的,我想在Android Canvas或其他方便的对象上以每秒约30帧的速度绘制一些东西。在我的应用程序中绘制不同的图形对象,如果触摸任何图形对象,图形对象将改变其形状。我看了看 查看子类的onDraw(Canvas canvas)回调但调用invalidate()在这里没有帮助:首先我无法控制帧速率,如果对象移动得太快,则运动看起来不稳定。

1 个答案:

答案 0 :(得分:1)

我个人不喜欢Android的内置动画类,因此我倾向于手动使用Canvas制作所有动画。我找到了最好的运气,创建了一个你想要在动画中使用的图像列表,然后是一个int变量来存储你所在的当前“框架”。为了推进帧,我创建了一个休眠30毫秒的线程,然后相应地更新帧变量。然后在你正在使用的任何更新处理程序中,你可以创建一个switch语句或类似的东西,并绘制相应的框架。

看起来似乎很多工作,但实际上并非如此。把它全部推到一个班级,你会为自己的许多动画而爱自己。