我正在尝试将 Map 添加到我的 libgdx 应用程序作为概念证明。似乎无论我如何制作一个包文件,com.badlogic.gdx.graphics.g2d.tiled.TileAtlas
构造函数TileAtlas(TiledMap map, FileHandle inputDir)
都无法正确读取它。我的瓦片地图很简单,只有2个瓦片,外部gui和内部系统都会生成一个打包文件。
这就是问题所在,要么我用一个文件名命名包文件以匹配我的一张图像以满足下面的第 2 行,要么方法出错。如果我添加 2 个包文件,一个用于我的图块集中图像的每个名称,我发现 Atlas 在内存中的构造不正确。我在这里想念什么?瓦片地图中应该只有一个瓦片吗?
来自 Libgdx 的代码:
for (TileSet set : map.tileSets) {
FileHandle packfile = getRelativeFileHandle(inputDir, removeExtension(set.imageName) + " packfile");
TextureAtlas textureAtlas = new TextureAtlas(packfile, packfile.parent(), false);
Array<AtlasRegion> atlasRegions = textureAtlas.findRegions(removeExtension(removePath(set.imageName)));
for (AtlasRegion reg : atlasRegions) {
regionsMap.put(reg.index + set.firstgid, reg);
if (!textures.contains(reg.getTexture())) {
textures.add(reg.getTexture());
}
}
}