Java 如何从*.tmx文件中读取多段线跳线?
我正在使用TmxMapLoader,似乎找不到从*.tmx读取多段线数据的方法Java 如何从*.tmx文件中读取多段线跳线?,java,libgdx,tmx,tiled,Java,Libgdx,Tmx,Tiled,我正在使用TmxMapLoader,似乎找不到从*.tmx读取多段线数据的方法 TmxMapLoader mapLoader = new TmxMapLoader(); TiledMap map = mapLoader.load("map1.tmx"); MapLayers layers = map.getLayers(); Iterator<MapLayer> layersIter = layers.iterator(); while(layers
TmxMapLoader mapLoader = new TmxMapLoader();
TiledMap map = mapLoader.load("map1.tmx");
MapLayers layers = map.getLayers();
Iterator<MapLayer> layersIter = layers.iterator();
while(layersIter.hasNext()) {
MapLayer layer = layersIter.next();
if(layer.getName().equals("path")) {
MapObjects os = layer.getObjects();
Iterator<MapObject> osIter = os.iterator();
while(osIter.hasNext()) {
MapObject o = osIter.next();
MapProperties p = o.getProperties();
// p.get("x") p.get("y") - <object x="" y""> works just fine
// but how can I get all polyline data from <polyline>?
}
}
}
TmxMapLoader映射加载程序=新的TmxMapLoader();
TiledMap-map=mapLoader.load(“map1.tmx”);
MapLayers layers=map.getLayers();
迭代器layersIter=layers.Iterator();
while(layersIter.hasNext()){
MapLayer layer=layersIter.next();
if(layer.getName().equals(“路径”)){
MapObjects os=layer.getObjects();
迭代器osIter=os.Iterator();
while(osIter.hasNext()){
MapObject o=osIter.next();
MapProperties p=o.getProperties();
//p.get(“x”)p.get(“y”)-工作正常
//但如何从中获取所有多段线数据?
}
}
}
*.tmx文件的相关部分:
<objectgroup color="#9da0a4" name="path">
<object x="9.09091" y="1509.09">
<polyline points="0,0 1,1"/>
</object>
</objectgroup>
我检查了TmxMapLoader的代码,它似乎实现了这个功能,但我找不到一个方法来实现它
有什么想法吗?您可以按如下方式获得多段线,
o
是一个MapObject
:
Polyline polyline = ((PolylineMapObject)o).getPolyline();
请记住,您之前可能已经检查过该实例,以防止发生ClassCastException
if(o instanceof PolylineMapObject) {
Polyline polyline = ((PolylineMapObject)object).getPolyline();
.....
}
希望这有帮助。Polyline Polyline=((PolylineMapObject)o).getPolyline();?我可以吻你吗?;-)谢谢不是最好的设计。呵呵呵呵,哦不!!!,不客气:)@vzamanillo也许可以把它作为答案发布?@Thorbjørn,明白了,干杯。有关瓷砖地图的更多信息,请访问