概念実証として、マップを libgdx アプリに追加しようとしています。どのようにパックファイルを作成しても、com.badlogic.gdx.graphics.g2d.tiled.TileAtlas
コンストラクターTileAtlas(TiledMap map, FileHandle inputDir)
はそれを正しく読み取らないようです。私のタイル マップはシンプルで 2 つのタイルしかなく、外部 GUI と内部システムの両方が圧縮ファイルを生成します。
ここに問題があります.2行目を満たすために画像の1つと一致するファイル名でパックファイルに名前を付けるか、メソッドがエラーになります。タイル セット内の画像の名前ごとに 1 つずつ、2 つのパックファイルを追加すると、アトラスがメモリ内で正しく構築されていないことがわかります。ここで何が欠けていますか?タイルマップにタイルを 1 つだけにする必要がありますか?
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());
}
}
}