• cocos2d-html5开发之本地数据存储


    做游戏时常常须要的一个功能呢就是数据的保存了,比方游戏最高分、得到的金币数、物品的数量等等。cocos2d-html5使用了html5。所以html5的数据保存方法是对引擎可用的;

    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

  • 相关阅读:
    二叉索引树
    将rst转换为markdown格式
    LeetCode电话号码的字母组合题
    根据文件名列表批量复制文件
    VMware+Alpine代替Docker部署Gogs服务
    wsl安装Ubuntu16.04无法ssh提示Permission denied (publickey)
    json二位数组根据指定键名去重
    thinkphp6 关联模型如何查询已经软删除的数据
    DB2数据库配置步骤(图解)
    基于SpringBoot2.3.1进行AOP原理源码阅读
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6940220.html
Copyright © 2020-2023  润新知