我正在通过 TmxMapLoader 加载平铺地图,我可以毫无困难地获取平铺等。但是当我想从对象层中提取值时,我只能使用以下代码获取 x、y:
MapProperties props = layer.getObjects().get(i).getProperties();
float x = (float) props.get("x");
float y = (float) props.get("y");
这让我得到了正确的价值观,但是当我尝试添加这个时:
float width = (float) props.get("width");
float height = (float) props.get("height");
它向我抛出了这个错误:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at cz.vilix.managers.MapManager.<init>(MapManager.java:67)
at cz.vilix.main.Game.create(Game.java:50)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
(MapManager 中的第 67 行是我尝试获取宽度值的地方。)这对我来说似乎有点难,因为我可以从属性窗口中列出的对象的属性中获取任何内容:
同样使用“宽度”和“高度”而不是“宽度”和“高度”也不起作用。
像这样将类型更改为 Object:
Object width = props.get("Width");
Object height = props.get("Height");
System.out.println(width + " " + height);
打印:null null
。