我有一个名为spritesheet.png
的文件,其中有7帧我的精灵并排排列。
我正在使用此代码:
TextureRegion[] reg = TextureRegion.split(new Texture("spritesheet.png"), 677, 1503)[0];
获取我的TextureRegion
数组,并启动我的动画:
animation = new Animation(1/12f, reg);
要渲染它,我会这样做:
batch.begin();
batch.draw(animation.getKeyFrame(elapsedTime, true), 0, 0);
batch.end();
然而,这只是一个黑盒子。
虽然,当我将spritesheet.png
文件更改为仅并排6帧时,动画工作正常,并显示我的精灵。
如何使用超过6帧正确动画我的精灵?
答案 0 :(得分:0)
您可能超出了所运行设备支持的最大纹理尺寸。如果您打算支持Android,您的纹理尺寸不应大于2048,以支持绝大多数设备。对于桌面,我认为4096是安全的。
答案 1 :(得分:0)
如果Tenfour04给出了正确的答案,那么您可能需要查看texturepacker
,它与LibGDX一起出现,您可以在工具中找到它。它有一个GUI,也可以从命令行使用。如果您没有将它们分开,则需要手动分割各个图像。
Texturepacker将为您打包个人精灵,您可以设置如何打包它们的选项和限制。它还将为您提供图集,因此您无需手动.split
您的工作表。您需要做的就是从当前的数组中加载TextureAtlas
中的所有帧并从中进行渲染。