Chcę przeczytać plist użyciu cocos2d-X (C++) Oto moja plist:cocos2d-x, jak czytać plist do tablicy
<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>
to w zasadzie tablica słownika, który składa się z (x , y) współrzędne. mój oryginalny kod do czytania jest:
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"w%i", world] ofType:@"plist"];
NSMutableArray* points = [NSMutableArray arrayWithContentsOfFile:path];
ale teraz muszę przełożyć je na cocos2d-x w C++. Mam googleed jakiś artykuł, ale są one wszystko o czytaniu plist do słownika. potrzebuję tablicy.
EDIT :::
Teraz ja zmieniłem formatu 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>
co mam zrobić ??? Nadal mam ten sam błąd:
CCDictionary<std::string, CCObject*>* dict = CCFileUtils::dictionaryWithContentsOfFile(plistPath);
int x = (int)dict->objectForKey("11x");
int y = (int)dict->objectForKey("11y");
nie będzie działać. Najpierw wypróbuj to. sprawdzić, czy można odczytać int z plist próbki
Nie sądzę coco2d-x wsparcie czytanie plist.., ale obsługuje czytanie xml.Więc możesz parsować xml i uzyskać wartości: –
jak? Myślę, że obsługuje plist i konwertuje do słownika. (użyj czegoś FileUtil) – OMGPOP
nie są plist się w formacie xml? – OMGPOP