cocos2d-x (c++) を使用して plist を読みたいのですが、これが私の plist です:
<array>
<dict>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>0</integer>
</dict>
<dict>
<key>x</key>
<integer>140</integer>
<key>y</key>
<integer>12</integer>
</dict>
<dict>
<key>x</key>
<integer>120</integer>
<key>y</key>
<integer>280</integer>
</dict>
<dict>
<key>x</key>
<integer>40</integer>
<key>y</key>
<integer>364</integer>
</dict>
<array>
基本的には、(x, y) 座標で構成される辞書の配列です。読むための私の元のコードは次のとおりです。
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"w%i", world] ofType:@"plist"];
NSMutableArray* points = [NSMutableArray arrayWithContentsOfFile:path];
しかし今、私はそれをC++でcocos2d-xに翻訳する必要があります。私はいくつかの記事をグーグルで検索しましたが、それらはすべて plist を辞書に読み込むことに関するものです。配列が必要です。
編集:::
今、私は自分のplist形式を変更しました:
<dict>
<key>11x</key>
<integer>0</integer>
<key>11y</key>
<integer>0</integer>
<key>12x</key>
<integer>140</integer>
<key>12y</key>
<integer>12</integer>
<dict>
私は何をすべきか???それでも同じエラーが発生します。
CCDictionary<std::string, CCObject*>* dict = CCFileUtils::dictionaryWithContentsOfFile(plistPath);
int x = (int)dict->objectForKey("11x");
int y = (int)dict->objectForKey("11y");
動作しません。まずはお試しください。サンプル plist から int を読み取れるかどうかを確認します