1

我正在尝试将 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());
            }
        }
    }
4

1 回答 1

1

com.badlogic.gdx.graphics.g2d.tiled--> 看起来您正在使用旧的平铺 API。我什至认为该软件包不再存在,因此您可能应该下载更新的版本。

查看这篇博客文章。我还没有使用过新的 API,但是快速浏览一下它看起来容易加载地图。

于 2013-06-08T00:04:41.483 回答