cocos2d-html5開發之本地數據存儲
阿新 • • 發佈:2017-06-04
本地 ava 一個 使用 class gin 自己 記得 default
做遊戲時常常須要的一個功能呢就是數據的保存了,比方遊戲最高分、得到的金幣數、物品的數量等等。cocos2d-html5使用了html5。所以html5的數據保存方法是對引擎可用的;
html5本地數據存儲是使用js對數據進行操作,html5 對數據的存儲提供了兩個方法:
關於這個sessionStorage僅僅在瀏覽器打開進行會話時可用。在遊戲中沒有測試,使用方法是和localStorage方法同樣的,僅僅是對數據保存的時間上不同;
當中localStorage 方法 對保留的數據沒有時間限制。除非用戶手動清理數據,也是我在遊戲中經常使用的方法;
對數據的存儲最經常使用的就是 getItem(‘‘,‘‘); 和setItem(‘‘,‘‘);這兩個方法。
由此可見本地存儲數據的方法非常easy,就是簡單的設置鍵(key)值(value)對。以及依據鍵(key)獲取保存的值(value);
另一點須要註意的就是 html5本地數據存儲,僅僅能保存字符串數據,不管你保存什麽都會自己主動轉換為字符串,所以假設要保存其它類型的數據的時候,要記得進行數據轉換。
這裏我寫一個保存和讀取json數據的樣例:
html5本地數據存儲是使用js對數據進行操作,html5 對數據的存儲提供了兩個方法:
sessionStorage - 僅僅對本次會話保留數據
localStorage - 長時間保留數據
關於這個sessionStorage僅僅在瀏覽器打開進行會話時可用。在遊戲中沒有測試,使用方法是和localStorage方法同樣的,僅僅是對數據保存的時間上不同;
當中localStorage 方法 對保留的數據沒有時間限制。除非用戶手動清理數據,也是我在遊戲中經常使用的方法;
對數據的存儲最經常使用的就是 getItem(‘‘,‘‘); 和setItem(‘‘,‘‘);這兩個方法。
由此可見本地存儲數據的方法非常easy,就是簡單的設置鍵(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
cocos2d-html5開發之本地數據存儲