繁体   English   中英

如何在Android Canvas中制作动画?

[英]How to animate in Android Canvas?

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

我个人不喜欢Android的内置动画类,因此我倾向于使用Canvas手动制作所有动画。 我发现最幸运的是创建了要在动画中使用的图像列表,然后创建了一个int变量来存储当前所在的“帧”。 为了推进帧,我创建了一个休眠时间为30 ms的线程,然后相应地更新frame变量。 然后,无论使用哪种更新处理程序,您都可以创建一个switch语句或类似的东西,并绘制相应的框架。

似乎需要做很多工作,但实际上并非如此。 将所有内容推入课堂,您会爱上自己的很多动画。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM