在我们正在开发的游戏中,我们需要为一个大小为 485x485 的大型精灵设置动画,并且动画大约有 30 帧。我们在为此类工件设置动画时遇到问题。我已经尝试了下面列出的一些解决方案,但不幸的是我们还没有提出解决方案。
平铺
看起来将每一帧都放在一个大图块中不是一种选择,因为:
- 纹理大小需要是 2 的幂,因此在大多数设备上显示为黑色
- 当我将纹理大小设置为 2 的幂时,对于大多数设备来说它变得太大了
- AndEngine 的推荐最大纹理大小似乎是1024x1024 。
分离精灵
另一个选项是加载每个纹理,因此每个帧,分别加载并将其放入Sprite
(如此处所述)。这非常有效,并且在正确的时间切换每个精灵的可见性会导致用户看到动画。
这种方法的问题是加载整个动画需要相当长的时间。由于加载屏幕,在最初加载游戏时这是不可见的,但在游戏后期需要更改动画,然后游戏需要大约 2-3 秒才能加载。放置加载屏幕不是一种选择。
在单独的线程上加载
我试图将纹理加载到一个单独的、新创建的线程中,但即使线程加载纹理,游戏的绘制似乎也暂停了。
其他选择?
我不知道任何选择,而且似乎没有其他人试图为大于 50x50 像素的纹理设置动画,因为很难找到有类似情况的人。
我的问题是:是否可以在 AndEngine 中为大型纹理设置动画?