這篇文章將為大家詳細(xì)講解有關(guān)如何進(jìn)行Cocos中的plist文件操作,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),津市企業(yè)網(wǎng)站建設(shè),津市品牌網(wǎng)站建設(shè),網(wǎng)站定制,津市網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,津市網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。【嘮叨】
在Cocos中,plist文件是非常常見的配置文件。它是特定格式的xml文件。
例如:小圖打包成大圖的紋理圖片、制作粒子特效、幀動(dòng)畫等,都用到了plist文件作為配置文件。
如何創(chuàng)建plist文件,以及讀取plist文件中的數(shù)據(jù)信息。
【plist文件】
屬性列表(Property List)文件是一種用來存儲(chǔ)序列化后的對(duì)象的文件。
屬性列表文件的文件擴(kuò)展名為 .plist,因此通常被稱為plist文件。
1、plist文件在Cocos中的應(yīng)用
(1)圖片紋理的配置信息
將多個(gè)紋理小圖片打包成一個(gè)大圖片,并生成plist文件。用于配置各個(gè)小圖的名稱、尺寸大小、以及在大圖中的所在的矩形區(qū)域位置等信息。
可以使用TexturePacker工具,將多個(gè)小碎圖的紋理打包成一張大圖片。
(2)幀動(dòng)畫的配置信息
將幀動(dòng)畫的數(shù)據(jù)信息,生成為plist配置文件。包含每幀間隔、動(dòng)畫重復(fù)次數(shù)、每一幀所需的圖片、每張圖片的名稱、尺寸大小、以及在大圖中所在的矩形區(qū)域位置等信息。
(3)粒子特效的配置信息
將粒子特效的數(shù)據(jù)信息,生成為plist配置文件。包含粒子發(fā)射器的位置信息、發(fā)射器模式、大粒子數(shù)量、發(fā)射角度、發(fā)射速度、紋理貼圖等等信息。
(4)還有其它。
2、plist文件格式
plist文件為屬性列表文件,類似于鍵值對(duì)(key-value)的形式。
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>dict</key> <dict> <key>name</key> <string>Alice</string> <key>age</key> <string>20</string> </dict> <key>array</key> <array> <integer>0</integer> <integer>1</integer> <integer>2</integer> </array> <key>bool</key> <true/> <key>data</key> <data></data> <key>date</key> <date>2015-02-16T16:47:11Z</date> <key>number</key> <integer>123456</integer> <key>string</key> <string>hello world!</string> </dict> </plist> //
屬性類型有:
> Dictionary :字典。(子屬性列表為:鍵值對(duì)形式)
> Array :數(shù)組。(子屬性列表為:數(shù)組值的形式)
> Boolean :邏輯值。(true / false)
> Number :數(shù)字。
> String :字符串。
> Date :日期。
> Data :數(shù)據(jù)。
其中,根節(jié)點(diǎn)只能為字典或數(shù)組。
并且在字典或數(shù)組中,鍵對(duì)應(yīng)的值依然可以為以上的各個(gè)屬性類型。
3、創(chuàng)建/編輯plist文件
在Mac OS系統(tǒng)中,XCode可以直接創(chuàng)建和編輯plist文件。
當(dāng)然也可以使用plist編輯軟件,或直接使用文本編輯器進(jìn)行編寫。
XCode中,編輯plist文件非常方便。
其中,根節(jié)點(diǎn)Root,只能為Dictionary、或Array類型。
以上plist文件數(shù)據(jù),代碼形式如下:
// <?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>dict</key> <dict> <key>name</key> <string>Alice</string> <key>age</key> <string>20</string> </dict> <key>array</key> <array> <integer>0</integer> <integer>1</integer> <integer>2</integer> </array> <key>bool</key> <true/> <key>data</key> <data></data> <key>date</key> <date>2015-02-16T16:47:11Z</date> <key>number</key> <integer>123456</integer> <key>string</key> <string>hello world!</string> </dict> </plist> //
我想大家應(yīng)該能讀得懂把。
4、讀取plist文件
接下來講講如何讀取plist文件的數(shù)據(jù)信息。
(1)根節(jié)點(diǎn)為Dictionary :使用 FileUtils::getInstance()->getValueMapFromFile(); 讀取為一個(gè)ValueMap 。
(2)根節(jié)點(diǎn)為Array :使用 FileUtils::getInstance()->getValueVectorFromFile(); 讀取為一個(gè)ValueVector 。
使用舉例:
// // 文件路徑 std::string path = "/soft/cocos2d-x-3.4/projects/Demo34/Resources/testPlist.plist"; // 讀取plist文件 // 以根節(jié)點(diǎn)為字典Dictionary為例 // 根節(jié)點(diǎn)為字典Dictionary , 讀取為一個(gè)ValueMap ValueMap plist = FileUtils::getInstance()->getValueMapFromFile(path); // 若根節(jié)點(diǎn)為數(shù)組Array , 讀取為一個(gè)ValueVector // ValueVector plist = FileUtils::getInstance()->getValueVectorFromFile(path); // 獲取數(shù)據(jù) // 讀取 "string" CCLOG("string = %s", (plist["string"].asString()).c_str()); // 讀取 "dict" , 也是一個(gè)字典ValueMap ValueMap& dict = plist["dict"].asValueMap(); CCLOG("name = %s", (dict["name"].asString()).c_str()); CCLOG("age = %s", (dict["age"].asString()).c_str()); // 讀取 "array" , 是一個(gè)數(shù)組ValueVector ValueVector& array = plist["array"].asValueVector(); for (int i = 0; i < array.size(); i++) { Value& value = array[i]; CCLOG("%d", value.asInt()); } //
關(guān)于如何進(jìn)行Cocos中的plist文件操作就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站標(biāo)題:如何進(jìn)行Cocos中的plist文件操作-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://www.rwnh.cn/article2/cejcoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、營(yíng)銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、商城網(wǎng)站、微信小程序、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容