查看“存储和读取用户数据”的源代码
←
存储和读取用户数据
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
导入sys ===存储数据=== sys.localStorage.setItem(key, value) 上面的方法需要两个参数,用来索引的字符串键值 key,和要保存的字符串数据 value。 假如我们要保存玩家持有的金钱数,假设键值为 gold: sys.localStorage.setItem('gold', 100); 对于复杂的对象数据,我们可以通过将对象序列化为 JSON 后保存: userData = { name: 'Tracer', level: 1, gold: 100 }; sys.localStorage.setItem('userData', JSON.stringify(userData)); ===读取数据=== sys.localStorage.getItem(key) 和 setItem 相对应,getItem 方法只要一个键值参数就可以取出我们之前保存的值了。对于上文中储存的用户数据: var userData = JSON.parse(cc.sys.localStorage.getItem('userData')); ===移除键值对=== 当我们不再需要一个存储条目时,可以通过下面的接口将其移除: sys.localStorage.removeItem(key) ===清空数据=== 当我们不再需要已存储的用户数据时,可以通过下面的接口将其清空: sys.localStorage.clear() ===数据加密=== 对于单机游戏来说,对玩家存档进行加密可以延缓游戏被破解的时间。要加密存储数据,只要在将数据通过 JSON.stringify 转化为字符串后调用你选中的加密算法进行处理,再将加密结果传入 setItem 接口即可。 您可以搜索并选择一个适用的加密算法和第三方库,比如 encryptjs,将下载好的库文件放入你的项目。 存储时: var encrypt=require('encryptjs'); var secretkey= 'open_sesame'; // 加密密钥 var dataString = JSON.stringify(userData); var encrypted = encrypt.encrypt(dataString,secretkey,256); sys.localStorage.setItem('userData', encrypted); 读取时: var cipherText = cc.sys.localStorage.getItem('userData'); var userData=JSON.parse(encrypt.decrypt(cipherText,secretkey,256)); 注意:数据加密不能保证对用户档案的完全掌控,如果您需要确保游戏存档不被破解,请使用服务器进行数据存取。
返回至“
存储和读取用户数据
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息