Libgdx 显示来自平铺的错误 (x, y) 坐标

Libgdx is showing wrong (x, y) coordinates from tiled

当我用

移除带有坐标(例如:X: 15,Y: 9)的图块时
TiledMapTileLayer tiledMapTileLayer = (TiledMapTileLayer)map.getLayers().get(0);
tiledMapTileLayer.setCell(15, 9, null);

我注意到实际上从地图上删除了错误的图块。取而代之的是带有坐标 X:15 Y: 6 的平铺被移除。我究竟做错了什么?

我相信这是由于 libgdx 反转地图以更好地匹配他们的坐标系。如果您的地图有 16 个图块高,尝试移除 Y: 9 处的图块将导致移除 Y: 16 - 9 - 1 = 6 处的图块。

如果您想从 Tiled 复制 Y 坐标并将其放入您的代码中,您通常需要应用以下转换将其转换到 libgdx 中的相同位置:

int y = tileLayer.getHeight() - 1 - [Y coordinate from Tiled];