现在我打包这样的图片:
TexturePacker2.Settings settings = new TexturePacker2.Settings();
settings.flattenPaths = true;
settings.combineSubdirectories = true;
TexturePacker2.process(directory, "pack", atlasName);
但如果directory
中有许多子目录,那么每个子目录TexturePacker2
都会创建一个单独的.png
文件,后缀为1,2,3,依此类推。如何告诉它将所有子目录中的所有图像打包成一个.png
文件?
答案 0 :(得分:1)
有关TexturePacker2的更多信息,请参阅this link。将每个子目录放在一个自己的packfile中是默认行为,因为大多数时候你不希望一个文件中的所有内容,因为它会变得太大。这样,您可以组织纹理。避免这种行为的一种非常简单的方法是将所有内容放入一个目录中,然后使用gdx-texturepacker.jar UI来打包它,告诉它使用最大宽度/高度4096或甚至更多。尽管如此,用户界面并未向您提供combineSubdirectories
和flattenPaths
。
因此,采用“代码方式”是正确的选择。这为您提供了TexturePacker2的所有可能性。它还允许您通过在maxWidth
中设置maxHeight
和TexturePacker2.Settings
来定义一个页面的最大大小。如果这足够高,封隔器将不需要创建多个页面。
答案 1 :(得分:1)
而不是:
TexturePacker2.process(directory, "pack", atlasName);
你应该使用:
TexturePacker2.process(settings, directory, "pack", atlasName);