0
对于我的LibGdx项目,我的资源包括动画的单个图像和精灵表单。我知道将所有内容打包到单个图集是很有效的。纹理打包动画图像/ Sprite工作表有效 - Libgdx
但是,当涉及到精灵表时,我该如何打包它?在打包时,我必须使用单精灵表还是精灵表的单个图像?例如:我有一个名为'snake'的精灵表,有4个帧。 我也有蛇帧snake_01,snake_02,snake_03和snake_04。
哪一个更好?
对于我的LibGdx项目,我的资源包括动画的单个图像和精灵表单。我知道将所有内容打包到单个图集是很有效的。纹理打包动画图像/ Sprite工作表有效 - Libgdx
但是,当涉及到精灵表时,我该如何打包它?在打包时,我必须使用单精灵表还是精灵表的单个图像?例如:我有一个名为'snake'的精灵表,有4个帧。 我也有蛇帧snake_01,snake_02,snake_03和snake_04。
哪一个更好?
第二种方式管理起来非常省时。因此,为每个动画帧使用单独的文件,如snake_01.png,snake_02.png等。
LibGDX TexturePacker将自动命名所有这些区域“蛇”并给它们一个索引号。
然后,装入TextureAtlas后,你可以把整个动画出来:
Array<TextureAtlas.AtlasRegion> snakeRegions = textureAtlas.findRegions("snake");
Animation<TextureRegion> snakeAnimation = new Animation<TextureRegion>(0.1f, snakeRegions);
如果您使用的是版本LibGDX比1.9.5老,省略<TextureRegion>
(两次)。 Animation类在1.9.5版本中变得通用。
谢谢!还有一件事,当我使用findRegion()获取特定图像的区域时,我可以在渲染后看到图像在附近的图像部分。它是如何发生的? – Niranjana
如果精灵画面的尺寸小于原始尺寸的1x1,并且没有使用最近的滤镜,则线性滤镜将导致图集上的附近像素渗入精灵。增加纹理打包器设置中的填充以解决此问题。 – Tenfour04
问题解决了。非常感谢! – Niranjana