cocos2d-x как читать plist в массив

я хочу прочитать plist, используя cocos2d-x (С++) вот мой 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];

, но теперь мне нужно перевести его в 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");

не будет работать. Пожалуйста, попробуйте сначала. посмотрите, можете ли вы прочитать int из примера plist

6
задан OMGPOP 17 May 2012 в 15:34
поделиться