为动画音乐人员选择绘画和动画技术

时间:2017-01-02 15:04:38

标签: android android-animation

我正在开发一个应用程序,我必须在屏幕的一部分上有一个动画音乐人员。也就是说' S:

  • 5条静态线
  • 十几个音符(每个音符基本上都是椭圆形和一条线)
  • 一些额外的符号(谱号)

我必须精确控制每个元素的大小,并且必须平滑地为音符和谱号的位置和alpha设置动画,使音符从右向左移动(在屏幕左侧消失,并在出现时出现)在右边,因此alpha)。我还必须有时改变音符的颜色。

我想我不能使用标准"动画"类,因为它是一个无限的动画,速度和音符取决于实时因素。

那么最好的方法是什么,以及实现平滑的动画?

不同意见? (VectorDrawables?)单个SurfaceView,我在每个帧手动绘制每个形状? (或TextureView?)

(注意:最小API设置为15)

感谢您帮助我选择合适的技术。

2 个答案:

答案 0 :(得分:0)

所以你对Animations类是无限的错了。它不需要。然而Android中的一切都取决于现实生活因素 - Android不是RTOS(实时操作系统),无法保证执行时间。

然而,如果你绝对需要完全控制,我会跳到完全控制 - 勾选编舞,所以你每1/60秒接到一个电话,每一帧都会使你需要改变的视图无效重绘它们。如果手机由于某些原因(例如其他应用程序)运行缓慢,您可能会丢帧或运行速度略低于1/60秒,但这是尽可能接近(以及动画类在幕后使用的内容)。 / p>

答案 1 :(得分:0)

使用动画师,您可以在普通手机上平稳地围绕5种不同视图制作动画。所以在你的情况下(有十几个音符等)它将有大约10fps。因此,SurfaceView和手绘所需的一切都会稍微好一些。也许GLSurfaceView值得考虑。 为了测试这个,我建议你先创建一些测试应用程序,其中10个视图会飞来飞去,看看性能。