cocos2d-xでのplist読み込み
例えば以下のStageData.plistがあった時
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>name</key> <string>STAGE 1</string> <key>param1</key> <integer>1</integer> <key>param2</key> <real>40.23</real> </dict> <dict> <key>name</key> <string>STAGE 2</string> <key>param1</key> <integer>2</integer> <key>param2</key> <real>35.12</real> </dict> . . . </array> </plist>
STAGE 1のデータを読み込む際はこんな感じになります。
CCArray *items = CCArray::createWithContentsOfFile("StageData.plist"); CCDictionary *dic = (CCDictionary *)items->objectAtIndex(0); CCString *name = (CCString *)dic->objectForKey("name"); int param1 = ((CCString *)dic->objectForKey("param1"))->intValue(); double param2 = ((CCString *)dic->objectForKey("param2"))->doubleValue();
あくまでplist側での型がintegerやrealでも、CCStringにキャストした後にintValue()とかdoubleValue()で取得すると問題なく動くようです。