Как прочитать ломаные шнуры из файла *.tmx?

Я использую 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>?
        }
    }
}

Соответствующая часть файла *.tmx:

<objectgroup color="#9da0a4" name="path">
    <object x="9.09091" y="1509.09">
        <polyline points="0,0 1,1"/>
    </object>
</objectgroup>

Я проверил код для TmxMapLoader, и кажется, что в нем реализована эта функция, но я не могу найти способ ее получить.

Есть идеи?


person user146386    schedule 17.11.2014    source источник
comment
Полилиния ломаная = ((PolylineMapObject)o).getPolyline();?   -  person vzamanillo    schedule 17.11.2014
comment
Могу ли я поцеловать тебя? ;-) Спасибо! Хотя и не самый лучший дизайн.   -  person user146386    schedule 17.11.2014
comment
Хе-хе-хе, о нет!!!, пожалуйста :)   -  person vzamanillo    schedule 17.11.2014
comment
@vzamanillo Может быть, опубликуете это как ответ?   -  person Thorbjørn Lindeijer    schedule 17.11.2014
comment
@ Торбьорн, ты понял, ура.   -  person vzamanillo    schedule 17.11.2014


Ответы (1)


Вы можете получить полилинию следующим образом, где o — это MapObject:

Polyline polyline = ((PolylineMapObject)o).getPolyline();

Имейте в виду, что вы могли проверить экземпляр перед тем, как предотвратить ClassCastException

if(o instanceof PolylineMapObject) {
    Polyline polyline = ((PolylineMapObject)object).getPolyline();
    .....
}

Надеюсь это поможет.

person vzamanillo    schedule 17.11.2014
comment
Дополнительная информация о тайловых картах на github.com/libgdx/libgdx/wiki/Tile-maps< /а> - person vzamanillo; 18.11.2014