我正在Tiled中创建自己的TMX映射。我已经导入了一些图案集,并将它们设置在相应的瓷砖层中。地图在平铺中看起来不错,但当我使用Andengine将其加载到我的级别时,每个平铺中显示的图像与我在平铺编辑器中使用的图像不同(显示矩阵中的另一个平铺,而不是我在编辑器中选择的平铺)
使用它加载的代码是正常的:
final TMXLayer mTMXLayer = this.mTMXTiledMap.getTMXLayers().get(0);
mScene.attachChild(mTMXLayer);
我不知道这是否重要,但瓷砖是70x70的,在加载时,我必须包含2px的间距。问题是我经常从作品中取这个例子,但那里的瓷砖是32x32,没有间距。压缩是gzip,路径是正确的。非常感谢!
我在游戏《Dandelion先生》中使用了TMX地图,我使用了不同的加载方式,是普通的。
final TMXLoader tmxLoader = new TMXLoader(ResourceManager.getInstance().activity.getAssets(),
ResourceManager.getInstance().engine.getTextureManager(),
TextureOptions.BILINEAR_PREMULTIPLYALPHA,
ResourceManager.getInstance().vbom);
String name = ... // here I just create a name of my level to load
tmxMap = tmxLoader.loadFromAsset(name);
scene.attachChild(tmxMap);
tmxMap.setOffsetCenter(0, 0);
就这样,正如你在代码中看到的,我正在附加整个TMX映射。它包含的不仅仅是TMX Tiles层,我还有几个对象层。此外,我还使用了128x128瓷砖(我认为)和2个衬垫。
如果这对你不起作用,发布一张实际发生的事情的截图。如果问题是显示了不同的平铺,那么这不是大小或填充的问题。在这种情况下,你会看到一块完全混乱的瓷砖。
还要确保同时使用分支中的AndEngine和TMX Extension(建议使用GLES2 AnchorCenter)。