html5 本地数据存储是使用 js 对数据进行操作,html5 对数据的存储提供了两个方法:
做游戏时常常须要的一个功能呢就是数据的保存了,比方游戏最高分、得到的金币数、物品的数量等等。cocos2d-html5 使用了 html5。所以 html5 的数据保存方法是对引擎可用的;
这里我写一个保存和读取 json 数据的样例:
另一点须要注意的就是 html5 本地数据存储,仅仅能保存字符串数据,不管你保存什么都会自己主动转换为字符串,所以假设要保存其它类型的数据的时候,要记得进行数据转换。
由此可见本地存储数据的方法非常 easy,就是简单的设置键(key)值(value)对。以及依据键(key)获取保存的值(value);
对数据的存储最经常使用的就是 getItem('',''); 和 setItem('',''); 这两个方法。
当中 localStorage 方法 对保留的数据没有时间限制。除非用户手动清理数据,也是我在游戏中经常使用的方法;
关于这个 sessionStorage 仅仅在浏览器打开进行会话时可用。在游戏中没有測试,使用方法是和 localStorage 方法同样的,仅仅是对数据保存的时间上不同;
- //这是一个保存娃娃数量的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
来源: http://www.bubuko.com/infodetail-2102990.html