1.PlayerPrefs是什么
PlayerPrefs是Unity提供的可以用于存储和读取玩家数据的公共类
PlayerPrefs的数据存储 类似于键值对存储,一个键对应一个值
提供了三种可存储类型:int、float、string
键:string类型
值:int float string 对应三种API
PlayerPrefs的局限性是 它只能存储3种数据类型
如果想要存储别的数据类型,只能降低精度,或者提高精度来进行存储
优点:
简单、快捷、易懂
缺点:
1.重复工作量繁多,自定义数据类都需要自己去实现存储读取的功能,而且代码的相似度极高
2.数据容易被修改,只要找到文件位置,就可以轻易地进行修改
主要用处:
单独使用它的原生功能 非常适合存储一些对安全性要求不高的简单数据
但是也不能小看它,对它进行简单的封装,也可以让它变得方便又安全
2.存储相关
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson1_PlayerPrefs : MonoBehaviour
{
private void OnGUI()
{
//1.存int型
PlayerPrefs.SetInt("myAge", 18);
//2.存float型
PlayerPrefs.SetFloat("myHeight", 181.5f);
//3.存string型
PlayerPrefs.SetString("myName", "假面骑士");
//注意:直接调用Set方法,只是把数据存到了内存中
// 当游戏结束时,Unity会自动把数据存到硬盘中
// 如果游戏没有正常结束(报错或崩溃),那么数据将会丢失
//解决这一问题的办法,调用.Save()方法,只要一调用,就会马上把数据存到硬盘中
PlayerPrefs.Save();
//补充:如果不同类型用同一个键进行存储,会把上一个数据覆盖掉
PlayerPrefs.SetInt("myHeight", 181);
}
}
3.读取相关
注意:游戏运行时,只要Set了对应键值对,就算没有马上.Save到硬盘,也能读取出信息
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson1_PlayerPrefs : MonoBehaviour
{
private void OnGUI()
{
PlayerPrefs.SetInt("myAge", 18);
PlayerPrefs.SetFloat("myHeight", 181.5f);
PlayerPrefs.SetString("myName", "假面骑士");
PlayerPrefs.Save();
//1.读int型
int age = PlayerPrefs.GetInt("myAge");
//还有个重载
//参数2 如果找不到键为myAge的值,就返回默认值100
//参数2的作用:在得到不存在的数据时,就可以利用参数2来进行基础数据的初始化
age = PlayerPrefs.GetInt("myAge", 23);
//2.读float型
float height = PlayerPrefs.GetFloat("myHeight");
//3.读string型
string name = PlayerPrefs.GetString("myName");
//补充:判断数据是否存在
if (PlayerPrefs.HasKey("myName"))
{
print("存在键为myName的数据");
}
}
}
4.删除数据
//删除指定键值对
PlayerPrefs.DeleteKey("myName");
//删除所有数据
PlayerPrefs.DeleteAll();
标签:存储,持久,string,myName,Unity,PlayerPrefs,using,数据
From: https://www.cnblogs.com/ElecSheep/p/16666120.html