LibGDX Animation不适用于> 6帧

时间:2015-12-16 03:53:46

标签: java animation libgdx

我有一个名为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帧正确动画我的精灵?

2 个答案:

答案 0 :(得分:0)

您可能超出了所运行设备支持的最大纹理尺寸。如果您打算支持Android,您的纹理尺寸不应大于2048,以支持绝大多数设备。对于桌面,我认为4096是安全的。

答案 1 :(得分:0)

如果Tenfour04给出了正确的答案,那么您可能需要查看texturepacker,它与LibGDX一起出现,您可以在工具中找到它。它有一个GUI,也可以从命令行使用。如果您没有将它们分开,则需要手动分割各个图像。

Texturepacker将为您打包个人精灵,您可以设置如何打包它们的选项和限制。它还将为您提供图集,因此您无需手动.split您的工作表。您需要做的就是从当前的数组中加载TextureAtlas中的所有帧并从中进行渲染。