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

Libgdx显示了来自平铺的错误(x,y)坐标,libgdx,tiled,Libgdx,Tiled,当我移除带有坐标的平铺时,例如:X:15,Y:9和 TiledMapTileLayer tiledMapTileLayer = (TiledMapTileLayer)map.getLayers().get(0); tiledMapTileLayer.setCell(15, 9, null); 我注意到实际上从地图上删除了错误的瓷砖。取而代之的是,带有坐标X:15 Y:6的瓷砖正在被移除。我做错了什么 我相信这是因为libgdx反转了地图以更好地匹配他们的坐标系。如果地图的分幅高度为16,尝试移

当我移除带有坐标的平铺时,例如: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处的分幅

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

int y=tileLayer.getHeight-1-[y坐标自平铺];
谢谢你的回答,但为什么我们需要做16-9?Libgdx从左下角开始计算坐标,就像这里提到的:我已经扩展了我的答案,这是否回答了你的问题?