AndEngine TMX加载图像层错误



10-24 10:05:24.576:E/MAP(16278):加载文件时出错:tmx/tess.tmx10-24 10:05:24.576:E/MAP(16278):org.andengine.extension.tmx.util.exception.TMXLoadException:org.andegine.extension.tmx_util.except.TMXParseException:意外的开始标记:"imagelayer"。10-24 10:05:24.576:E/MAP(16278):在org.andengine.extension.tmx.TMXLoader.load(TMXLoader.java:256)10-24 10:05:24.576:E/MAP(16278):在org.andengine.extension.tmx.TMXLoader.loadFromAsset(TMXLoader.java:213)

这是我的代码

public MainMap(Activity activity, Engine engine, String mapName) {
    super();
    String location = "tmx/" + mapName + ".tmx";
    try {
        tmxLoader = new TMXLoader(activity.getAssets(),
                engine.getTextureManager(),
                engine.getVertexBufferObjectManager());
        this.mTMXTiledMap = tmxLoader.loadFromAsset(location);
        this.mTMXTiledMap
                .setIsometricDrawMethod(TMXIsometricConstants.DRAW_METHOD_ISOMETRIC_ALL);
        this.mTMXLayer = this.mTMXTiledMap.getTMXLayers().get(0);
        this.mTMXLayer2 =this.mTMXTiledMap.getTMXLayers().get(1);

        createBlockedTile(mTMXTiledMap.getTileColumns(), mTMXTiledMap.getTileRows());
    } catch (final TMXLoadException e) {
        Log.e("MAP", String.format("Error loading file: %s", location), e);
    }

使用

this.attachChild(mainMap.getmTMXLayer());
this.attachChild(mainMap.getmTMXLayer2());

图像层是在Tiled 0.9.0中添加的层类型。它记录在https://github.com/bjorn/tiled/wiki/TMX-Map-Format#imagelayer.

最有可能的是,AndEngine还没有更新以支持这种层类型。为此,你可以自己修补,也可以向作者报告问题,以确保他们知道这个缺失的功能。

或者,不要在地图中使用图像层来确保可以使用当前版本的AndEngine加载它。

最新更新