学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。
1:PlayerPrefs是Unity自带的数据结构
2:位于UnityEngine命名空间下
3:可以对整数、浮点数、字符串3种类型的数据进行存取
4:他是持久存储在设备上的(例如:安卓,只要用户没有删除应用或者手动去清除应用数据,PlayerPrefs的数据就会一直保留)
整数的存取、读取
PlayerPrefs.SetInt("Number",num);//存储该变量
PlayerPrefs.GetInt("Number",num);//读取该变量
浮点数的存取
PlayerPrefs.SetFloat("PI",PI);//存储该浮点数
PlayerPrefs.GetFloat("PI",PI);//读取该浮点数
字符串的存取
PlayerPrefs.SetString("HW",str);//存取该字符串
PlayerPrefs.GetString("HW",str);//读取该字符串
其他PlayerPrefs接口
PlayerPrefs.Save();//保存PlayerPrefs数据
PlayerPrefs.HasKey("HW");//是否存在该键
PlayerPrefs.DeleteKey("HW");//删除键
PlayerPrefs.DeleteAll();//删除所有PlayerPrefs数据
3种数据结构的键是公用的,比如一个键“SomeKey”先用它来存整数10,在用它来存字符串“Hello”,最后读取整数,那么结果是0,因为之前存的10被覆盖了
属性访问器get和set
属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。
访问器声明可以包含get或set访问器或两者均包含
格式如下:
1 private string name; 2 public string Name 3 { 4 get 5 { 6 return name; //返回一个字符串 7 } 8 set 9 { 10 name=value;//把value赋给name 11 } 12 }
Name的使用,如下
Name ="Hi"; Debug.Log(Name);
属性访问器与PlayerPrefs
PlayerPrefs包含读写两部分,用get和set包装一下,PlayerPrefs就可以当做普通变量使用
public string Name { get { return PlayerPrefs.GetString("Name"); } set { PlayerPrefs.SetString("Name",value); PlayerPrefs.Save();// } }
一个自动保存的变量就这么创建出来了