PlayerPrefs概述
PlayerPrefs是Unity提供的可以用于存储读取玩家数据的公共类。
PlayerPrefs的基本方法
一.存储相关
PlayerPrefs的数据存储,类似于键值对存储,一个键对应一个值。
提供了三种存储数据的方法:int 、float、string
键:string类型
值:int、float、string对应三种API
PlayerPrefs.SetInt("myAge",18);
PlayerPrefs.SetFloat("myHeight",178f);
PlayerPrefs.SetString("myName","某某某");
直接调用Set相关方法只会把数据存到内存中,当游戏结束时,Unity会自动把数据存到硬盘中。如果游戏不是正常结束,而是崩溃的,数据是不会存到硬盘中的。
PlayerPrefs.Save();
只有调用该方法,就会马上存储到硬盘中。
PlayerPrefs是具有局限性的,他只能存3中类型的数据,如果想要存储别的类型的数据,只能降低精度或者上升精度来进行存储。
bool sex=true;
PlayerPrefs.SetInt("sex",sex ? 1 : 0);
如果不同类型用同一键名进行存储,会进行覆盖。
二.读取相关
在运行时,只要Set了对应键值对,即是没有马上存储Save在本地,也能读取出信息。
//int
int age=PlayerPrefs.GetInt("myAge");
//如果找不到myAge对应的值,就是返回函数的第二个参数(默认值)
age=PlayerPrefs.GetInt("myAge",100);
//float
float height=PlayerPrefs.GetFloat("myHeight",1000f);
//string
string name=PlayerPrefs.GetString("myName");
//判断数据是否存在
if(PlayerPrefs.HasKey("myName"))
{
print("存在myName对应的键值对数据");
}
三. 删除数据
//删除指定键值对
PlayerPrefs.DeleteKey("myAge");
//删除所有存储的信息
PlayerPrefs.DeleteAll();
PlayerPrefs存储位置
不同平台存储位置不一样