Unity 数据持久化之PlayerPrefs 如何存储数据
Posted 其子昱舟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
以上是关于Unity 数据持久化之PlayerPrefs 如何存储数据的主要内容,如果未能解决你的问题,请参考以下文章