libgdx:使用多个瓦片集时瓦片地图渲染不正确

libgdx: tiled map renders incorrectly when using multiple tilesets

我已经开始使用 libGDX 来加载使用 Tiled 制作的 tmx 地图,但有一个奇怪的问题,即当我使用第二个 tileset 时,我的程序停止正确显示地图,要么什么都不显示在所有或使用完全不同的瓷砖。即使没有使用其他 tileset 中的 tiles 也会发生这种情况,只是使用第二个 tileset 标签将其搞砸了。在 Tiled 中打开它时,一切看起来仍然很好,我对 tmx 格式不够熟悉,不知道是渲染器还是数据搞砸了。我使用的 libGDX 代码与下面的教程相同,但使用了不同的图块集(我已经能够单独正确渲染这两个图块集),尽管我也尝试了渲染代码的其他变体,但没有任何运气 。

https://www.gamefromscratch.com/post/2014/04/16/LibGDX-Tutorial-11-Tiled-Maps-Part-1-Simple-Orthogonal-Maps.aspx

平铺地图

我看到的运行我的程序

tmx 文件:

<?xml version="1.0" encoding="UTF-8"?>
<map version="1.2" tiledversion="1.3.1" orientation="orthogonal" renderorder="right-down" compressionlevel="-1" width="32" height="32" tilewidth="16" tileheight="16" infinite="0" nextlayerid="4" nextobjectid="1">
  <tileset firstgid="1" source="sprites.tsx"/>
  <tileset firstgid="1025" source="tileset.tsx"/>
  <layer id="1" name="Tile Layer 1" width="32" height="32">
    <data encoding="base64">
    KgQAACoEAAAqBAAAKgQAACoEAAAqBAAAKgQAACoEAAAqBAAAKg...
    </data>
  </layer>
  <layer id="2" name="Tile Layer 2" width="32" height="32">
    <data encoding="base64">
    iQAAAMEBAADBAQAAwQEAAMEBAADBAQAAwQEAAMEBAADBAQAAw...
    </data>
  </layer>
</map>

这是最新版本中的错误。它固定在 master 分支中。见 https://github.com/libgdx/libgdx/pull/5722

您可以暂时使用 libgdx 1.9.11-SNAPSHOT 让它工作。