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加载它。