Unity 数据持久化之PlayerPrefs(二) 如何存储数据

一、PlayerPrefs 是什么

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

二、存储相关知识

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

三、使用

// int 存储
PlayerPrefs.SetInt("myAge",18);
// int 取
PlayerPrefs.GetInt("myAge");  // PlayerPrefs.GetInt("myAge",100); 如果设置了默认值,又发现没有myAge的数据,就会返回设置的默认值100

// float 存储
PlayerPrefs.SetFloat("myHeight",177.5f);
// Float 取 可以设默认值返回值
PlayerPrefs.GetFloat("myHeight");

// string 存储
PlayerPrefs.SetString("myName","欢迎关注彭老师");
// string 取 可以设默认值返回值
PlayerPrefs.GetString("myName");


// 判断数据是否存在
if(PlayerPrefs.HasKey("Key")){
	// HasKey的主要作用是判断是否有同一个Key但是有多个值
}

注意:
1、直接调用Set相关方法,只会把数据存到内存里
2、当游戏结束后,Unity会自动把数据存到硬盘中
3、如果游戏不是正常结束,而是崩溃,数据不会存到硬盘中
4 、只要调用PlayerPrefs.Save(),就会立马存储到硬盘中,解决3的问题
5、如果同一个键名相同,就会覆盖

局限性:
1、只能存储3种类型的数据
2、如果非要存储别的类型的数据,只能降低精度,或者上升精度进行存储

取巧:

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

四、删除

// 删除某个Key
PlayerPrefs.DeleteKey("Key");
// 删除所有
PlayerPrefs.DeleteAll();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

其子昱舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值