我想对多个主纹理文件使用相同的.atlas文件。 这可以通过使用多个几乎相同的.atlas文件(仅与纹理文件名称的第一行不同)轻松实现,但它不是最好的解决方案。
我想知道在运行时,在TextureAtlas对象创建期间或之后是否可以提供主纹理文件的名称。 我快速浏览了TextureAtlas代码,但API似乎不允许这样做,至少不是以直截了当的方式。
答案 0 :(得分:0)
您可以将图像目录传递给TextureAtlas构造函数。我没有尝试过,但似乎你可以拥有你的单个.atlas文件,然后在不同的目录中有单独的纹理文件。
来自TextureAtlas ...
public TextureAtlas (FileHandle packFile, FileHandle imagesDir) {
this(packFile, imagesDir, false);
}
/** @param flip If true, all regions loaded will be flipped for use with a perspective where 0,0 is the upper left corner. */
public TextureAtlas (FileHandle packFile, FileHandle imagesDir, boolean flip) {
this(new TextureAtlasData(packFile, imagesDir, flip));
}
答案 1 :(得分:0)
经过一些研究,似乎实现它的唯一方法是扩展TextureAtlas然后复制和修改构造函数代码。 目前,只需读取atlas文件的第一行即可获得纹理文件的名称:
String line = reader.readLine();
if (line == null) break;
if (line.trim().length() == 0)
pageImage = null;
else if (pageImage == null) {
FileHandle file = imagesDir.child(line);
不需要这样做,而是需要使用作为构造函数的参数传递的文件名来创建FileHandle。
在这种情况下,我将坚持使用多个地图集文件: - )