Java Libgdx getProperties().get(";value";)给我一个奇怪的响应

Java Libgdx getProperties().get(";value";)给我一个奇怪的响应,java,libgdx,tmx,Java,Libgdx,Tmx,我对getProperties().get(“value”)有一个奇怪的响应 您可以在下面看到我的tmx文件和我的程序提供的值 <objectgroup name="objects"> <object id="1" name="player" type="player" x="256" y="3072" width="1290" height="1290"> <properties> <property name="name" val

我对
getProperties().get(“value”)
有一个奇怪的响应

您可以在下面看到我的
tmx文件
和我的程序提供的值

 <objectgroup name="objects">   <object id="1" name="player" type="player" x="256" y="3072" width="1290" height="1290">    <properties>
    <property name="name" value="Ahhhh"/>
    <property name="nom" value="Bhhhh"/>
    <property name="velocity" value="1.0"/>    </properties>   </object>  </objectgroup>

源代码

    MapObject mapPlayer = currentMap.getLayers().get("objects").getObjects().get("player");
MapObjects mapObject = currentMap.getLayers().get("objects").getObjects();
for (Iterator<String> iter = mapPlayer.getProperties().getKeys(); iter.hasNext(); )
{
    System.out.println("#############"+iter.next());
}
System.out.println("**************** player name :  " + mapPlayer.getProperties().get("name", String.class));
RectangleMapObject rect = (RectangleMapObject) mapObject.get("player");
float x = (float) rect.getRectangle().x;
float y = (float) rect.getRectangle().y;
float width = rect.getRectangle().width;
float height = rect.getRectangle().height;

System.out.println("**************** player coordinates X :  " +x);
System.out.println("**************** player coordinates Y:  "+y);
System.out.println("**************** player coordinates width :  " +width);
System.out.println("**************** player coordinates height:  "+height);
System.out.println("**************** player coordinates X :  " +mapPlayer.getProperties().get("x", Integer.class));
System.out.println("**************** player coordinates Y:  "+mapPlayer.getProperties().get("y", Integer.class));
System.out.println("**************** player velocity :  "+mapPlayer.getProperties().get("velocity", Integer.class));
MapObject mapPlayer=currentMap.getLayers().get(“对象”).getObjects().get(“播放器”);
MapObjects mapObject=currentMap.getLayers().get(“对象”).getObjects();
for(迭代器iter=mapPlayer.getProperties().getKeys();iter.hasNext();)
{
System.out.println(“iter.next());
}
System.out.println(“***************播放器名称:”+mapPlayer.getProperties().get(“名称”,String.class));
RectangleMapObject rect=(RectangleMapObject)mapObject.get(“播放器”);
float x=(float)rect.getRectangle().x;
float y=(float)rect.getRectangle().y;
浮动宽度=rect.getRectangle().width;
浮动高度=rect.getRectangle().height;
System.out.println(“****************玩家坐标X:“+X”);
System.out.println(“****************玩家坐标Y:“+Y”);
System.out.println(“****************播放器坐标宽度:“+宽度”);
System.out.println(“****************玩家坐标高度:“+高度”);
System.out.println(“****************播放器坐标X:”+mapPlayer.getProperties().get(“X”,Integer.class));
System.out.println(“****************播放器坐标Y:”+mapPlayer.getProperties().get(“Y”,Integer.class));
System.out.println(“***************播放器速度:”+mapPlayer.getProperties().get(“速度”,Integer.class));
#######宽度 #######名字 #######名字 #######身份证 #######速度 #######高度 #######x #######y #######类型 ****************玩家名称:啊 ****************播放器坐标X:256.0 ****************玩家坐标Y:3318.0 ****************玩家坐标宽度:1290.0 ****************玩家坐标高度:1290.0 ****************播放器坐标X:256.0 ****************玩家坐标Y:3318.0 ****************球员速度:1.0

为什么Y没有显示正确的值


感谢

这可能是因为libgdx的Y轴方向相反(指向上方,而不是像平铺中那样指向下方),并试图在加载地图时自动将Y坐标转换为自己的坐标空间来提供帮助。

确切地说,这就是原因。我不明白,因为很容易理解宽度和高度是否是平铺的倍数(在我的例子中是256),但如果是另一个值,它可能会更复杂。显然Y是倒转的。谢谢