制作此动画的最佳解决方案是什么

What would be the best solution to making this animation

我正在尝试制作一款具有多个关卡的游戏,在这些关卡中,您必须想出一种方法,使某种颜色应该通过屏幕上显示的管道。管道看起来像 (应该更好,但仅供参考)。所以基本上应该有一个颜色的动画沿着这些管道向下移动(不同的管道有不同的颜色)。现在,我可以制作一个 gif 并将其用作我的动画,但它太大了(大约 5MB,这不是很多,但如果你放几十个级别,它往往会加起来)。什么是哪种解决方案最有效?

您尝试过使用 drawRect() 或 drawCircle() 吗?你只需要起点、转折点和终点的协调。用延迟的递归函数画出来,应该好看

好吧,我首先建议您使用 Unity 进行游戏开发。 如果没有,请查看 cocos2d 或任何其他框架。 其次,如果您想使用本机代码为事物设置动画,请使用 Canvas 的 draw() 函数(如@Wakeman 所建议的)。 现在回答你的问题,如果你的游戏不涉及持续的用户交互,并且你正在考虑将 GIF 作为解决方案,那么我建议使用 Lottie library。 您可以在 Adob​​e After Effects 中创建漂亮的动画并将这些(json 文件)导入到 Android 中,而不会占用太多内存,而且可以获得高分辨率输出。

最好将关卡构建为 tilemap。管道的每一段都可以按数字编码,并根据其状态(空、1/4、1/3、1/2 或满)绘制为位图 (Sprite)。类似的原则适用于 Unity/Cocos 2D 等引擎或您自己的渲染器。这种构建关卡的方式在尺寸上比全屏动画轻一百倍,并且在不同关卡中使用多次。