1

マップ内の情報は次のとおりです。

     <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>

どうすればObjective-Cでそれらを抽出できますか?

私は試した:

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

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

4

2 に答える 2

2

TMXのポリラインとポリゴンはバージョン2.0-rc0でcocos2d-iphoneに導入されました。

[NEW] TileMap:ポリゴン、ポリライン、gidがオブジェクトから解析されます(問題#1311)

2.0-rc0よりも新しいバージョンを使用している場合は、次のような方法でポイントにアクセスできると思います。

CCTMXObjectGroup *objectGroup = [tileMapLayer objectGroupNamed:@"someGroup"];
NSMutableDictionary *waypoints = [[objectGroup objectNamed:@"waypointsline"];
NSString *v = [waypoints objectForKey:@"polylinePoints"];

詳細については、以下を参照してください。

于 2012-04-27T08:52:30.880 に答える
0

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

Mac OS Xの場合は、に行くことをお勧めしますがNSXMLDocument、必要なのはiOS固有であるため、次の賭けはNSXMLParser

ただし、まだ簡単なアプローチがあります...

これをダウンロードしてください: https ://github.com/Insert-Witty-Name/XML-to-NSDictionary

その後 :

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

アップデート


XML文字列データを取得するには:

NSString* filepath = [[NSBundle mainBundle] pathForResource:@"map" ofType:@"tmx"];
NSString* myxml = [NSString stringWithContentsOfFile:filepath
                                            encoding:NSUTF8Encoding
                                               error:nil];
于 2012-04-27T08:34:52.243 に答える