JSON

html5开发之本地数据存储

字号+ 作者:H5之家 来源:H5之家 2016-10-28 14:00 我要评论( )

当前位置:主页 > 游戏开发 > 游戏引擎 > cocos2d-html5开发之本地数据存储 发布时间:2016-07-30 01:00 | 作者:采集侠 | 来源:网络整理 | 浏览: 做游戏时经常需要的一个功能呢就是数据的保存了,比如游戏最高分、得到的金币数、物品的数量等等,cocos2d-

  • 当前位置:主页 > 游戏开发 > 游戏引擎 >
  • cocos2d-html5开发之本地数据存储
  • 发布时间:2016-07-30 01:00 | 作者:采集侠 | 来源:网络整理 | 浏览:
  • 做游戏时经常需要的一个功能呢就是数据的保存了,比如游戏最高分、得到的金币数、物品的数量等等,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); }

    这样就可以一次保存多个数据,并且操作起来也方便

  • 收藏 |
  • 上一篇:coocs2d-html5在使用cocoseditor时调用设备的accelerometer来使用重力感应
  • 下一篇:cocos2d-x CCScrollView 源码分析
  • 相关内容
  • 推荐排行
  • 随即浏览

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 提高HTML5应用和网站性能的50条秘技

      提高HTML5应用和网站性能的50条秘技

      2016-04-24 12:00

    • Rails + ES6 + Angular2 前后端分离开发(一)

      Rails + ES6 + Angular2 前后端分离开发(一)

      2016-03-26 17:00

    • 举例详解HTML5中使用JSON格式提交表单

      举例详解HTML5中使用JSON格式提交表单

      2016-01-15 10:21

    • Jack 张 讲:HTML5 中websocket长连接的具体实现方法

      Jack 张 讲:HTML5 中websocket长连接的具体实现方法

      2016-01-01 17:38

    网友点评