【Unity入门】PlayerPrefs简介及使用

目录

  • PlayerPrefs
  • 储存位置
  • 用例
  • 注意事项

PlayerPrefs

PlayerPrefs 是Unity内置的一个静态类,可以用于存储一些简单的数据类型:int ,string ,float。
分别对应的函数为:

  • SetInt():保存整型数据
  • GetInt():读取整形数据
  • SetFloat():保存浮点型数据
  • GetFlost():读取浮点型数据
  • SetString():保存字符串型数据
  • GetString():读取字符串型数据

其它函数

  • DeleteAll():删除所有键和值,请谨慎使用。
  • DeleteKey():从PlayerPrefs中删除给定的key。如果key不存在,DeleteKey就没有影响。
  • HasKey():如果给定key存在于PlayerPrefs中,则返回true,否则返回false。
  • Save():将所有修改的偏好写入磁盘。

储存位置

保存在 PlayerPrefs 上的数据存储于设备本地。

  • 在Mac OS X上,PlayerPrefs数据存储在~/Library/PlayerPrefs文件夹,名为unity.[company name].[product name].plist,这里company和product名是在project Setting中设置的。
  • 在windows上,PlayerPrefs数据存储在注册的HKCU\Software[company name][product name]键下,这里company和product名是在project setting中设置的。
  • 在Android上,PlayerPrefs数据存储(持久化)在设备上,数据保存在SharedPreferences中。

用例

int intValue = 0;
float floatValue = 0f;
string stringValue = " ";//三个数据类型的存储和调用
PlayerPrefs.SetInt("stringIntName", intValue);
PlayerPrefs.GetInt("stringIntName");PlayerPrefs.SetFloat("stringFloatName", floatValue);
PlayerPrefs.GetFloat("stringFloatName");PlayerPrefs.SetString("stringStringName", stringValue);
PlayerPrefs.GetString("stringStringName");PlayerPrefs.HasKey("stringIntName");//返回 true
PlayerPrefs.DeleteKey("stringIntName");//删除"stringIntName"键值对
PlayerPrefs.HasKey("stringIntName");//返回 false
PlayerPrefs.DeleteAll();//删除所有数据

注意事项

用DeleteKey方法删除某个数据后再用HasKey判断是否存在,会返回false,但是用Get方法去得到一个不存在的值,会返回0。

int intValue = 5;
float floatValue = 5f;
string stringValue = "aaaa";PlayerPrefs.SetInt("stringIntName", intValue);
PlayerPrefs.DeleteKey("stringIntName");
Debug.Log("stringIntName: " + PlayerPrefs.GetInt("stringIntName"));PlayerPrefs.SetFloat("stringFloatName", floatValue);
PlayerPrefs.DeleteKey("stringFloatName");
Debug.Log("stringFloatName: "+PlayerPrefs.GetInt("stringFloatName"));PlayerPrefs.SetString("stringStringName", stringValue);
PlayerPrefs.DeleteKey("stringStringName");
Debug.Log("stringStringName: " + PlayerPrefs.GetInt("stringStringName"));

控制台
在这里插入图片描述

如果Get方法去得到一个不存在的值,可设置默认值进行返回

PlayerPrefs.GetInt("stringIntName",1);PlayerPrefs.GetFloat("stringFloatName",2f);PlayerPrefs.GetString("stringStringName","hello");

关于 PlayerPrefs 类的用法更多详情

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/312753.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐几个贼有意思的开源项目!

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣! C 项目 1、kilo:不到 1 千行代码实现的迷你文本编辑器。该项…

【基础】【Python网络爬虫】【12.App抓包】reqable 安装与配置(附大量案例代码)(建议收藏)

Python网络爬虫基础 App抓包1. App爬虫原理2. reqable 的安装与配置reqable 安装教程reqable 的配置 3. 模拟器的安装与配置夜神模拟器的安装夜神模拟器的配置配置代理配置证书 4. 内联调试及注意事项软件启动顺开启抓包功reqable面板功列表部件功能列表数据快捷操作栏 夜神模拟…

【vue】Easy Player实现视频播放:

文章目录 一、效果:二、文档:三、实现:【1】安装插件:【2】引入js文件:【3】使用: 四、方法: 一、效果: 二、文档: GitCode - EasyPlayer.js npm-easydarwin/easyplayer…

开关电源反馈环路重要参数设计,PC817和TL431实例计算和取值详解

author:小高霸气 data:2021.04.16 下面介绍开关电源重要的反馈电路PC817和TL431设计和应用。 在开关电源当中,对稳压反馈电路的设计通常会使用TL431和PC817来配合使用。在TOP 及3842等单端反激电路中的反馈电路很多都采用TL431和PC817作为参考、隔离、取…

三菱MR-JE伺服脉冲轴应用参数设置

三菱MR-JE伺服在脉冲轴控制上的应用,常用参数设置如下: 1、常用参数 未完...

架构设计系列 5:常见架构介绍

前面讲了架构是什么,架构的发展史,架构设计的基础理论,这次针对常见架构设计风格进行介绍和分析。 一、MVC:三层架构经典 经典的 MVC 架构(Model-View-Controller)架构是软件系统架构设计中的经典&#xf…

安装torch(GPU版本)并在Pycharm中配置

零.前置环境 1.NVIDIA GPU Computing Toolkit已安装 版本为:11.6 已添加到环境变量 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\libnvvp 在cmd中查看cuda版本 方法1&#xff1a…

.net8 AOT编绎-跨平台调用C#类库的新方法-函数导出

VB.NET AOT无法编绎DLL,微软的无能,正是你的机会 .net8 AOT编绎-跨平台调用C#类库的新方法-函数导出 1,C#命令行创建工程:dotnet new classlib -o CSharpDllExport 2,编写一个静态方法,并且为它打上UnmanagedCallersO…

Win10取消开机密码

1、首先确认你的 Windows 系统帐户中添加了密码。您可以在设置 - 帐户 - 登录选项中查看电脑是否有添加本机密码。 2、按 WinR 打开运行窗口,在窗口中输入 netplwiz 并按确定。 3、在弹出的用户帐户控制中,我们可以看到当前已添加密码的帐户。把要使用本…

【基础】【Python网络爬虫】【11.字体反扒】认识字体、字体加密(附大量案例代码)(建议收藏)

Python网络爬虫基础 字体反扒1. 认识字体字体概述 2. 处理字体3. 练习案例 - 某小说网址字体解密3.1 请求数据 - 发现问题3.2 下载字体文件3.3 解析字体文件3.4 替换字体 4. 字符串形式字体文件4.1 请求数据 - 发现乱码4.2 下载字体4.3 解析字体4.4 替换数据 5. 字体加密5.1 请…

【Java EE初阶三 】线程的状态与安全(下)

3. 线程安全 线程安全:某个代码,不管它是单个线程执行,还是多个线程执行,都不会产生bug,这个情况就成为“线程安全”。 线程不安全:某个代码,它单个线程执行,不会产生bug&#xff0c…

云计算:OpenStack 分布式架构部署(单控制节点与多计算节点)

目录 一、实验 1.环境 2. 计算服务安装(计算节点2) 3. 网络服务安装(计算节点2) 一、实验 1.环境 (1) 主机 表1 主机 主机架构IP备注controller控制节点192.168.204.210已部署compute01计算节点1192.168.204.211 已部署compute02计算节点2192.168.204.212 (…