TmxMapLoader使用打包地形设置(TmxMapLoader to use packed ti

2019-10-18 13:13发布

在旧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打包文件关联成功;

反正是有解决这个问题?

谢谢

Answer 1:

如果你的目标GLES 1.0,则需要电源的两tilesets。 某些设备可能允许非幂的两次与GLES 1.0,但不能保证。 随着GLES 2.0这个限制解除,但你仍然可能会失去动力的 - 两个更好的性能。

你仍然可以使用TiledMapPacker制作的地图,你只需要加载与地图AtlasTmxMapLoader而不是TmxMapLoader



Answer 2:

他们并不需要是两个电源。 如果你有它的问题,像你的两个错误设定的功率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文件路径下的子目录。

问候希望可能帮助。



文章来源: TmxMapLoader to use packed tileset