學習筆記之cocos2d-x2.1.1實現讀取.plist文件

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">
<dict>
	<key>level</key>
	<dict>
		<key>f1</key>
		<dict>
			<key>path</key>
			<string>1.png</string>
			<key>point</key>
			<string>{200,300}</string>
		</dict>
		<key>f2</key>
		<dict>
			<key>path</key>
			<string>2.png</string>
			<key>point</key>
			<string>{500,300}</string>
		</dict>
		<key>f3</key>
		<dict>
			<key>path</key>
			<string>3.png</string>
			<key>point</key>
			<string>{800,300}</string>
		</dict>
	</dict>
</dict>
<dict>

</dict>
</plist>

		//////////////////////////////////////////////////////////////////////////
		TagCount = 0;
		//////////////////////////////////////////////////////////////////////////
		const char* testPlistPath = "SmallTools.plist";
		const char* fullPath = CCFileUtils::sharedFileUtils()->fullPathFromRelativeFile("SmallTools.plist", testPlistPath);
		CCDictionary* plistDic = CCDictionary::createWithContentsOfFile(testPlistPath);
		CCDictionary* levelDic = dynamic_cast<CCDictionary*>(plistDic->objectForKey("level"));
		char str[10];
		for (int i=1;i<=levelDic->count();i++)
		{
			sprintf(str,"f%d",i);
			CCDictionary* farScene = dynamic_cast<CCDictionary*>(levelDic->objectForKey(str));
			CCString* spriteName = dynamic_cast<CCString*>(farScene->objectForKey("path")); 
			CCPoint point = CCPointFromString(farScene->valueForKey("point")->getCString());

			const char *pszFileName = spriteName->getCString() ;
			CCSprite* sprite=CCSprite::create(pszFileName); 
			CC_BREAK_IF(!sprite); 
			sprite->setPosition(ccp(point.x,point.y));
			this->addChild(sprite,1,++TagCount);
		}	
		//////////////////////////////////////////////////////////////////////////

實現了讀取plist,並且根據plist內容添加精靈,設置位置


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章