当前位置: 首页 > news >正文

Unity学习笔记(二十)PlayerPrefs(一)

目录

PlayerPrefs是什么

存储原理

读取相关

删除数据

PlayerPrefs数据唯一性


PlayerPrefs是什么

是Unity提供的可以用于存储读取玩家数据的公共类

存储原理

PlayerPrefs的数据存储,类似键值对存储,一个键对应一个值
提供了存储3种数据的方法 ,int float string
键:string
值:int float string 对应三种3API

调用set方法存只是到了内存中

PlayerPrefs.SetInt("myAge",18); PlayerPrefs.SetFloat("myHeight",177.5f); PlayerPrefs.SetString("myName", "shan");

当游戏结束时,Unity会自动把数据存到硬盘中
如果游戏不是正常结束的 而是崩溃 数据是不会存到硬盘中的
只要调用该方法 ,就马上会存到硬盘中

PlayerPrefs.Save();

PlayerPrefs是有局限性的,它只能存3种类型的数据

如果你想要存储别的类型的数据,只能降低精度或者上升精度来进行存储

bool sex = true; PlayerPrefs.SetInt("sex", sex ? 1 : 0);

如果不同的数据类型用同一键名进行存储,就会进行覆盖。

PlayerPrefs.SetFloat("myAge",20.0f);

读取相关

注意 运行时,只要你Set了对应键值对
即使你没有马上存储Save在本地
也能够读取出信息

读取了上面float的值,不会报错 但会读取为0 ,因为不存在int类型的(被覆盖了)

int age = PlayerPrefs.GetInt("myAge");

如果找不到myAge对应的值,就会返回函数的第二个参数,默认值

age = PlayerPrefs.GetInt("myAge",100);

判断数据是否存在

if (PlayerPrefs.HasKey("myName")) { print("存在"); }

删除数据

删除指定键值对

PlayerPrefs.DeleteKey("myAge");

删除所有存储的信息

PlayerPrefs.DeleteAll();

PlayerPrefs存储

PlayerPrefs 存储的数据位置
HKCU\Software\[公司名称]\[产品名称] 项下的注册表中
其中公司和产品名称是 在“Project Settings”中设置的名称。

运行 regedit
HKEY_CURRENT_USER
SOFTWARE6
Unity
UnityEditor
公司名称
产品名称

Android

data/data/包名/shared_prefs/pkg-name.xml

IOS

/Library/Preferences/[应用ID].plist

PlayerPrefs数据唯一性

PlayerPrefs中不同数据的唯一性
是由key决定的,不同的key决定了不同的数据
同一项目中 如果不同数据key相同 会造成数据丢失
要保证数据不丢失就要建立一个保证key唯一的规则

http://www.cnnetsun.cn/news/137819.html

相关文章:

  • 熊市中最适用的公式==底部建仓
  • 100G双光口网卡技术解析:Intel E810-CAM2方案的性能与应用突破
  • BioSIM抗人组蛋白H1抗体SIM0385:广泛应用于表观遗传学、染色质结构分析等领域
  • 智慧灯杆数字孪生系统:“多杆合一“技术实现
  • SCI一稿多投会不会被发现?
  • RUI Builder-图形化UI设计-工程范例
  • win10 - 删除非法命名的文件夹的方法
  • 必看!2025年单北斗GNSS形变监测高口碑产品排行榜
  • 【计网】网络分层模型和http协议
  • Kotaemon在华为云上的部署实践:全流程记录
  • 校园便利平台|基于springboot + vue校园便利平台系统(源码+数据库+文档)
  • 38、Linux 脚本编程:bc 计算器、数组与特殊技巧
  • 揭秘高亮车灯升级2025年值得推荐的TOP8车灯产品
  • WSL2 / Ubuntu 下用 SDKMAN 管理多版本 Java(项目级切换,真香)
  • 从“幻觉”到“诚实”:OpenAI 如何重新定义大模型的不靠谱问题
  • 高精度宽频段VG7050CDN压控晶体振荡器(VCXO),适用于通信与GPS设备等
  • 重塑艺术“原罪”?Nano Banana Pro 引入数字水印与归属协议:谷歌要给 AI 生图打上“DNA”标签?
  • 基于最优指派策略的弹道导弹目标数据关联算法
  • 通达信主图MACD
  • Mistral 3 模型解析与部署实战:从 Large 3 到 Mini-stral
  • 2025网络安全学习路线 非常详细 推荐学习
  • 测试必知:线上出现BUG,该怎么办!
  • 【C++】学生管理系统设计与实现丨SQLite数据库版本
  • 第55集科立分板机:PCB激光分板机的效率如何
  • 28、UNIX 终端操作与测试实用指南
  • 31、UNIX实用技巧:ASCII表与经典编辑器使用指南
  • 三大限流算法:滑动窗口、令牌桶、漏桶
  • # 深入浅出 Flutter:构建跨平台应用的利器
  • 40、深入了解UNIX系统管理:职责与求职指南
  • stm32毕设本科生任务书指导