Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从*.tmx文件中读取多段线跳线?_Java_Libgdx_Tmx_Tiled - Fatal编程技术网

Java 如何从*.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,似乎找不到从*.tmx读取多段线数据的方法

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,明白了,干杯。有关瓷砖地图的更多信息,请访问