存储和读取用户数据
cc.sys.localStorage
接口是按照 Web Storage API 来实现的,在 Web 平台运行时会直接调用 Web Storage API,在原生平台上会调用 sqlite 的方法来存储数据。一般用户不需要关心内部的实现。
配合本篇文档可以参考 数据存储范例( | Gitee)。
cc.sys.localStorage.setItem(key, value)
上面的方法需要两个参数,用来索引的字符串键值 key
,和要保存的字符串数据 。
假如我们要保存玩家持有的金钱数,假设键值为 gold
:
对于复杂的对象数据,我们可以通过将对象序列化为 JSON 后保存:
cc.sys.localStorage.getItem(key)
和 相对应,getItem
方法只要一个键值参数就可以取出我们之前保存的值了。对于上文中储存的用户数据:
当我们不再需要一个存储条目时,可以通过下面的接口将其移除:
cc.sys.localStorage.removeItem(key)
cc.sys.localStorage.clear()
对于单机游戏来说,对玩家存档进行加密可以延缓游戏被破解的时间。要加密存储数据,只要在将数据通过 转化为字符串后调用你选中的加密算法进行处理,再将加密结果传入 setItem
接口即可。
您可以搜索并选择一个适用的加密算法和第三方库,比如 encryptjs,将下载好的库文件放入你的项目。
存储时:
读取时: