在旧libgdx地图API,他们曾经有过
map = TiledLoader.createMap(Gdx.files.internal("maps/testmap.tmx"));
atlas = new TileAtlas(map, Gdx.files.internal("maps"));
tileMapRenderer = new TileMapRenderer(map, atlas, 8, 8);
然而,在新的libgdx规则的改变,加载tilemap的存在不再需要先使用地图打包机。 您可以直接使用.tmx文件与地形设置PNG。 像下面的工作,然后调用渲染。
TiledMap map = new TmxMapLoader().load("maps/testmap.tmx");
我的问题是,用于生成.tmx文件中的原始tileselt.png,它的大小不是2功率。 所以我仍然要要么使用纹理封隔器或地图打包机打包它使用。
我无法与.tmx打包文件关联成功;
反正是有解决这个问题?
谢谢
如果你的目标GLES 1.0,则需要电源的两tilesets。 某些设备可能允许非幂的两次与GLES 1.0,但不能保证。 随着GLES 2.0这个限制解除,但你仍然可能会失去动力的 - 两个更好的性能。
你仍然可以使用TiledMapPacker制作的地图,你只需要加载与地图AtlasTmxMapLoader
而不是TmxMapLoader
。
他们并不需要是两个电源。 如果你有它的问题,像你的两个错误设定的功率Texture.setEnforcePotImages(false);
里面你MainClass的。
所以,我认为你不能封隔器的TMX文件关联您不必封隔器了。
如果使用TmxMapLoader
的tilesets需要是同一文件夹内.tmx
文件。 如果它们是不同的目录里面,你需要配置的内源路径.tmx
文件。 这里是一个例子:
<tileset firstgid="257" name="mountain" tilewidth="32" tileheight="32">
<image source="mountain.png" width="512" height="512"/>
</tileset>
平铺的常规输出。 如果地形设置是例如配置这里面你需要改变这样的:
<tileset firstgid="257" name="mountain" tilewidth="32" tileheight="32">
<image source="config/mountain.png" width="512" height="512"/>
</tileset>
但它仍然需要在TMX文件路径下的子目录。
问候希望可能帮助。