前言

如果開發的遊戲沒有打算作成online game的話,基本上本機端資料存檔一定要會。一開始,我想說自己寫一個csv檔自己再搞一個class來處理他就好。但是,既然用了COCOS2D-X,他又有支援該功能何嘗不來玩玩看呢!

 

解說

cocos2dx內有個CCUserDefault的物件。

我們暫且不去細項看這類別的內容,簡單的介紹怎麼使用這物件來達到我們資料存檔或是讀取。

  

 

 

 

#include <CCUserDefault.h>

不用說,這一定要include的啊,不然怎麼用!

 

CCUserDefault::sharedUserDefault()->setIntegerForKey("level",m_iLevel);

當m_iLevel有改變時,可以馬上執行存檔至"level"這個標籤的動作。

 

m_iLevel=CCUserDefault::sharedUserDefault()->getIntegerForKey("level");

通常讀取標籤資料我都放在遊戲一開始的地方。這例子是把標籤"level"內的值存入變數m_iLevel。

 

就這樣,是不是很簡單?

 

範例-HelloCpp

來修改HelloCpp專案來測試測試一下功能。可以開啟VC和您sample下的HelloCpp的專案來跟我一起練習喔。

 

開發工具:Visual Studio 2010 Express

 

step1. 我們要先將專案加入一個include path "$(ProjectDir)..\..\..\cocos2dx\support" 不加,那include <CCUserDefault.h>編譯就不給你過,嘿嘿!

 

 

0001.jpg

 

Step2. 開啟HelloWorldScene.cpp

最上面新增一下#include <CCUserDefault.h>

0002.jpg  

 

Step3. 開啟HelloWorldScene.h

在HelloWorldScene類別中新增一個m_iCount的變數。

0003.jpg

 

Step4. 剛剛只是暖身,現在要開始跑嚕!回到HelloWorldScene.cpp。

現在進入HelloWorld::init()

我們來新增一些些程式碼

0004.jpg

 

//+ --- CODE

//- --- CODE

 

Step5. 執行

不要懷疑,就run吧。我懶的在寫一個顯示的元件,我們就用Log看結果吧!

 

第一次Run,可以看到結果m_iCount=1

0005.jpg

 

 

關掉,再Run第二次,得到結果m_iCount=2

0006.jpg

 

 

 

 

 

 

巴比特 發表在 痞客邦 留言(0) 人氣()