如何使用 Libgdx 获取平铺地图对象的 x 和 y 位置?

how to get the x and y position of a tiled map object with Libgdx?

我已经在 Internet 上搜索了一段时间,实际上没有任何帮助,但我一直在努力弄清楚如何获取 Tiled 地图对象的 x 和 y 位置。

我尝试使用 map1.getLayers().get(3).getObjects().get(1).getX() 获取 x 位置,但 getX() 方法 returns 出现错误:无法解析 'MapObject' 中的方法 'getX' .

我可以使用另一种方法还是应该完全改变我的方法?

map1.getLayers().get(3).getObjects().get(1) 会 return 一个 MapObject, that doesn't define a getX() method. Depending on the type of the MapObject you need to cast it, to get it's position. E.g. if it's a RectangleMapObject 你可以这样做:

MapObject mapObject = map1.getLayers().get(3).getObjects().get(1);
if (mapObject instanceof RectangleMapObject) {
  RectangleMapObject rectangleMapObject = (RectangleMapObject) mapObject;
  // now you can get the position of the rectangle like this:
  Rectangle rectangle = rectangleMapObject.getRectangle();
  float x = rectangle.getX();
  float y = rectangle.getY();
  // TODO maybe add width and hight ...
}

如果不是 RectangleMapObject,则需要检查 MapObject 的其他子类。