2014-11-17 9 views
0

TmxMapLoader를 사용하고 있으며 * .tmx에서 폴리 라인 데이터를 읽는 방법을 찾지 못하는 것 같습니다. * .tmx 파일의* .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>? 
     } 
    } 
} 

관련 부분 :

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

나는 TmxMapLoader에 대한 코드를 확인하고 구현이 기능을 가진 것 같다, 그러나 나는 그것을 얻을 수있는 방법을 찾을 수 없습니다.

아이디어가 있으십니까?

+2

폴리 라인 폴리 라인 = ((PolylineMapObject) o) .getPolyline() ;? – vzamanillo

+0

키스해도 될까요? ;-) 감사! 그래도 최고의 디자인. – user146386

+0

Hehehehe, 오, 안돼 !!!, 환영합니다 :) – vzamanillo

답변

2

oMapObject이고, 다음과 같이 폴리 라인을 얻을 수는 ClassCastException에게

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

희망이 도움 방지하기 전에

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

인스턴스를 확인 마음에 당신이 한 수 유지 .

+0

타일 맵에 대한 추가 정보는 https://github.com/libgdx/libgdx/wiki/Tile-maps에서 확인하십시오. – vzamanillo