2017-01-20 39 views
0

对于我的LibGdx项目,我的资源包括动画的单个图像和精灵表单。我知道将所有内容打包到单个图集是很有效的。纹理打包动画图像/ Sprite工作表有效 - Libgdx

但是,当涉及到精灵表时,我该如何打包它?在打包时,我必须使用单精灵表还是精灵表的单个图像?例如:我有一个名为'snake'的精灵表,有4个帧。 我也有蛇帧snake_01,snake_02,snake_03和snake_04。

哪一个更好?

回答

0

第二种方式管理起来非常省时。因此,为每个动画帧使用单独的文件,如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版本中变得通用。

+0

谢谢!还有一件事,当我使用findRegion()获取特定图像的区域时,我可以在渲染后看到图像在附近的图像部分。它是如何发生的? – Niranjana

+1

如果精灵画面的尺寸小于原始尺寸的1x1,并且没有使用最近的滤镜,则线性滤镜将导致图集上的附近像素渗入精灵。增加纹理打包器设置中的填充以解决此问题。 – Tenfour04

+0

问题解决了。非常感谢! – Niranjana