首页 > 解决方案 > 具有无限区域 tmx 文件的 TmxMapLoader 空点异常

问题描述

我用 tiled 创建了一个 tilemap,这个地图有无限的区域。结果 tmx 文件有一堆 0,这导致 getTileIds 的 nullpointerexeception。

Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.maps.tiled.BaseTmxMapLoader.getTileIds(BaseTmxMapLoader.java:298)
at com.badlogic.gdx.maps.tiled.BaseTmxMapLoader.loadTileLayer(BaseTmxMapLoader.java:81)
at com.badlogic.gdx.maps.tiled.TmxMapLoader.loadTilemap(TmxMapLoader.java:203)
at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:90)
at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:65)
at com.pokemon.TiledGameMap.<init>(TiledGameMap.java:17)
at com.pokemon.PlatformerGame.create(PlatformerGame.java:23)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:143)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)

我该怎么做才能跳过 tmx 文件中的 0?我没有在这里放置任何瓷砖,因为不需要。

编辑:我用填充的瓷砖创建了一个 32 x 32 的瓷砖地图,这很好用。所以我很确定 nullpointer 来自未填充的瓷砖。我想绕过这个,因为我的地图形状很奇怪。

标签: libgdx

解决方案


在此处输入图像描述

您是否选中了“无限”框?我遇到了同样的问题,并且能够通过取消选中该框来解决它,然后保存我的地图。


推荐阅读