cc.sys.localStorage存储和读取用户数据

我们有时候要把一些数据存储到本地的时候就会用到cc.sys.localStorage.setItem(key, value)的方法。
当我们需要对一些复杂的object对象进行存储的时候,我们需要先把对象进行解析转化为字符串进行存储,在取出的时候在把它从新变成object就可以了。

比如说我们要存储一个叫obj的对象数据

cc.sys.localStorage.setItem('obj',JSON.stringify(obj));

获取的时候

var obj =JSON.parse(cc.sys.localStorage.getItem('obj'));

就可以了,当获取不到时返回null
注意:获取到的值都为字符串类型。比如传入的value值是boolean类型obj = true,但获取obj的值是“true”。知道了这个问题,我们可以用 0 和 1 来代替 false 和 true ,在条件语句中直接判断 if(obj) 的值就可以了。

当我们想要删除时可用

cc.sys.localStorage.removeItem(obj);

存储数据的用途之一:
比如小游戏中的新手教程,我们可以通过存储的数据来判断是否有缓存,来判定是否显示新手教程。

maskBtn() {
  var playerP = cc.sys.localStorage.getItem('oldPlayer');//拿出本地缓存的数据
  if (playerP == 1){//如果本地缓存的数据存在且为指定数据
    this.hand.destroy()//新手教程节点销毁
  } else {
    this.hand.active=true;//新手教程节点开启(刚开始进入为关闭)
  }
},
posted @ 2021-03-23 15:25  ZerlinM  阅读(414)  评论(0编辑  收藏  举报