private void setMarioPosition() {
/**
* 0.99版本中对象层的获得与对象层属性的获得
* */
String name=map.getLayers().get("mario").getName();
System.out.println(name);
String x=map.getLayers().get("mario").getObjects().get(0).getProperties().get("x").toString();
System.out.println(x);
String y=map.getLayers().get("mario").getObjects().get(0).getProperties().get("y").toString();
System.out.println(y);
/**
* 0.99版本中对象层坐标已经换算,不用再去手动换算
* 在tmx文件中并没有直接存储map的高,而源码是通过height*tileHeight得来,及行数*块高
* */
String height=map.getProperties().get("height").toString();
System.out.println("height="+height);
String tileheight=map.getProperties().get("tileheight").toString();
System.out.println("tileheight="+tileheight);
int mapHeight=Integer.parseInt(height)*Integer.parseInt(tileheight);
/**
* 由于在制做tiled时已经做了位置的倒算,而在0.99版本map类中又进行了一次换算,固需要再次反转
* */
mario.x=Integer.parseInt(x);
mario.y=mapHeight-Integer.parseInt(y)-42;
}
libgdx0.99版本tiledmap 中对象层及其坐标属性获取
最新推荐文章于 2023-09-08 14:35:35 发布