我正在尝试将地图添加到我的libgdx应用中作为概念证明。看来,无论我如何制作一个打包文件,com.badlogic.gdx.graphics.g2d.tiled.TileAtlas
构造函数TileAtlas(TiledMap map, FileHandle inputDir)
都不会正确读取它。我的图块地图很简单,只有2个图块,外部gui和内部系统都会生成一个打包文件。
这是问题所在,或者我用一个文件名来命名packfile来匹配我的图像之一以满足下面的第2行,或者方法出错了。如果我添加2个packfile,对于我的图块集中的每个图像名称一个,则我发现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());
}
}
}
最佳答案
com.badlogic.gdx.graphics.g2d.tiled
->好像您正在使用旧的平铺API。我什至不认为该软件包已不存在,因此您应该下载较新的版本。
查看此blog article。我尚未使用新的API,但快速浏览一下,加载地图看起来就容易得多。