2012-04-27 10 views
1

の情報は次のとおりです。私は客観-Cでそれらを抽出するにはどうすればよいtmxマップでポリラインポイントを抽出するにはどうすればよいですか?マップ内

 <objectgroup name="Waypoint" width="32" height="24"> 
    <object name="waypointsline" x="843" y="3"> 
    <polyline points="0,0 -13,130 -39,202 -69,237 -125,262 -162,295 -189,340 -184,376 -166,411 -124,453 -98,484 -78,529 -78,598 -80,659 -101,689 -200,695 -317,700 -453,696 -534,693 -566,656 -582,622 -585,563 -586,488 -577,428 -550,335 -547,284 -565,225 -599,190 -675,171 -751,164 -799,133 -829,93 -842,17"/> 
    </object> 
</objectgroup> 

は、私が試した:

NSMutableDictionary *waypoints = [objects objectNamed:@"waypointsline"]; 
if(waypoints) { 
    NSString* v = [waypoints valueForKey:@"waypointsline"]; 
} 

そしてそれは、nilを返しました。

答えて

2

ポリラインとポリゴンは、バージョン2.0-RC0で-iphoneをcocos2dするために導入された:

[NEW ] TileMap:ポリゴン、ポリライン、およびGIDがオブジェクトから解析される(問題#1311)

あなたは2.0 RC0よりも新しいバージョンを使用している場合、私はあなたがに似た何かにポイントにアクセスすることができますね。(カテゴリのように見える

+0

私の答えは、 Cocos2dと一緒に働いていた...いい人! :-) –

+0

あなたのコードを使って、マップ内の情報を編集しました。 '[dict objectForKey:@" polygonPoints "];'はnilを返します。 – Arty

+0

申し訳ありません、あなたのケースでは 'polylinePoints'である必要があります。私は間違いがあった: – Hailei

0

あなたのデータはXMLのフォーマットであるので、あなたがしなければならないのは、そのXMLを解析することだけです。

MacOS Xの場合は、NSXMLDocumentに行ったことをお勧めしますが、iOS固有のものがあるため、次のベットはNSXMLParserとなります。

しかし、まだこの

ダウンロード... 簡単にアプローチがあります:https://github.com/Insert-Witty-Name/XML-to-NSDictionary

そして:

NSDictionary *dic = [XMLReader dictionaryForXMLString:myxml error:nil]; 

UPDAT E


あなたのXML列データを取得するために:TMXで

NSString* filepath = [[NSBundle mainBundle] pathForResource:@"map" ofType:@"tmx"]; 
NSString* myxml = [NSString stringWithContentsOfFile:filepath 
              encoding:NSUTF8Encoding 
               error:nil]; 
+0

ありがとうございます。私はiosとcocos2dプログラミングの新人です。これを行う簡単な方法があるかどうか、 'CCTMXObjectGroup'か何かを使っているかのように知りたいです。 – Arty

+0

@Arty私が提案している方法は**本当に**簡単です - あなたがしなければならないことは、2つのファイル(私があなたに送ったダウンロードリンクで利用可能)を含み、**ただ1行のコード**を書くことだけです。 :-) –

+0

他の問題を申し訳ありません:どうすれば 'myxml'を入手できますか、私は' CCTMXTiledMap'を使ってxmlを読み込みます。 – Arty

関連する問題