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

问题描述

我正在尝试制作一个具有多个级别的游戏,您必须找出一种方法来确定某种颜色应该通过屏幕上显示的管道。管道看起来像

this

(这应该更好,但仅供参考)。因此,基本上应该在这些管道上放下一种颜色的动画(不同管道的颜色不同)。现在,我可以制作一个gif并将其用作我的动画,但是它太大了(大约5MB,虽然不多,但是如果放了几十个关卡,它往往会累加起来)。最有效的解决方案?

解决方法

您是否尝试过使用drawRect()或drawCircle()?您只需要协调起点,转折点和终点即可。使用具有延迟的递归函数绘制它,它应该看起来不错。

,

好吧,我首先建议您选择Unity for Game Development。 如果没有,请查看cocos2d或任何其他框架。 其次,如果要使用本机代码制作动画,请使用Canvas的draw()函数(由@Wakeman建议)。 现在来问您一个问题,如果您的游戏不涉及持续的用户交互,并且您正在考虑将GIF作为解决方案,那么我建议您使用 Lottie library 。 您可以在Adobe After Effects中创建漂亮的动画并将其(json文件)导入Android,而不会影响太多内存,而且还会获得高分辨率输出。

,

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

Tilemap example