cocos2d-html5開發之本機資料儲存

來源:互聯網
上載者:User

標籤:cocos2d-js   cocos2d-html5   localstorage   資料存放區   

做遊戲時經常需要的一個功能呢就是資料的儲存了,比如遊戲最高分、得到的金幣數、物品的數量等等,cocos2d-html5使用了html5,所以html5的資料儲存方法是對引擎可用的;

html5本機資料儲存是使用js對資料進行操作,html5 對資料的儲存提供了兩個方法:
sessionStorage - 只對本次會話保留資料
localStorage - 長時間保留資料

關於這個sessionStorage只在瀏覽器開啟進行會話時可用,在遊戲中沒有測試,用法是和localStorage方法相同的,只是對資料儲存的時間上不同;

其中localStorage 方法 對保留的資料沒有時間限制,除非使用者手動清理資料,也是我在遊戲中常用的方法;
對資料的儲存最常用的就是 getItem(‘‘,‘‘); 和setItem(‘‘,‘‘);這兩個方法;
由此可見本機存放區資料的方法很簡單,就是簡單的設定鍵(key)值(value)對,以及根據鍵(key)擷取儲存的值(value);
還有一點需要注意的就是 html5本機資料儲存,只能儲存字串資料,無論你儲存什麼都會自動轉換為字串,所以如果要儲存其他類型的資料的時候,要記得進行資料轉換,
這裡我寫一個儲存和讀取json資料的例子:

//這是一個儲存娃娃數量的json資料dollNum = {Aries: 0, Taurus: 0, Gemini: 0, Cancer: 0, Leo: 0, Virgo: 0, Libra: 0, Scorpius: 0, Sagittarius: 0, Capricornus: 0, Aquarius: 0, Pisces: 0};/** * 儲存Doll數量,要儲存json資料的時候,需要使用JSON.stringify();方法將JSON轉化為字串 */function saveDollNum(){    var tempDollNum = JSON.stringify(dollNum);    sys.localStorage.setItem("dollNum", tempDollNum);}/** * 載入Doll數量 和 keys;然後再讀取過後,需要用JSON.parse();方法將字串轉化為JSON */function loadDollNum() {    var tempDollNum = sys.localStorage.getItem("dollNum");    if(tempDollNum == null || tempDollNum == ""){        saveDollNum();        cc.log("default dollNum " + dollNum);    }else{        tempDollNum = sys.localStorage.getItem("dollNum");        cc.log("get dollNum " + tempDollNum);    }    //將字串轉化為json    tempDollNum = JSON.parse(tempDollNum);}


這樣就可以一次儲存多個資料,並且操作起來也方便

OK 資料存放區介紹完了,更多精彩在我的個人原創部落格網站:Melove 我愛 http://www.melove.net

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.