首页 文章

在AndEngine中加载大纹理

提问于
浏览
4

在我们正在开发的游戏中,我们需要为大型精灵设置动画,大小为485x485,动画大约有30帧 . 我们有一个问题动画这样的工件 . 我已经尝试了下面列出的一些解决方案,但不幸的是我们还没有找到解决方案 .

平铺

看起来将每个框架放在一个大的瓷砖上是不可取的,因为:

  • 纹理大小需要为2的幂,因此在大多数设备上显示为黑色

  • 当我将纹理大小设为2的幂时,它对于大多数设备来说太大了

  • 建议最大纹理大小为AndEngine seems to be 1024x1024 .

分开精灵

另一个选项是分别加载每个纹理,然后加载每个框架,并将其放入 Sprite (如described here) . 这非常有效,并且在正确的时间切换每个精灵的可见性会导致用户看到动画 .

这种方法的问题是加载整个动画需要相当长的时间 . 由于加载屏幕,这在最初加载游戏时不可见,但是在游戏后期需要更改动画并且游戏需要大约2-3秒才能加载 . 放置加载屏幕不是一种选择 .

在单独的线程上加载

我试图将纹理加载到一个单独的,新创建的线程中,但即使在线程加载纹理时,游戏的绘图似乎也会暂停 .

其他选择?

我不知道任何选项,似乎没有人试图动画大于50x50像素的纹理,因为很难找到任何具有类似情况的人 .

我的问题是:在AndEngine中为大型纹理制作动画是否正确?

1 回答

  • 2

    我认为你的问题会遇到设备限制,而不是动态限制 . 设计移动,很少有Android设备可以运行 .

    但是,您可以使用VertexShaders和FramentShaders提出替代解决方案 . 这是Andengine GLES2的重要特征

    这是一篇描述该方法的文章:http://code.zynga.com/2011/11/mesh-compression-in-dream-zoo/

相关问题