我正在尝试将地图添加到我的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,但快速浏览一下,加载地图看起来就容易得多。

08-03 18:14