Unity:数据存取
常见数据存取方式:
- PlayerPrefs
- JSON
- BinarySerialization
- ScriptableObject
一、PlayerPrefs
本来是用来存储玩家偏好设置的方法,比如一些游戏显示效果设置。但其实也能用来存储简单的数据。
存储的位置在注册表里。所以也有个缺点是不安全,玩家可以直接修改注册表来修改游戏里的数据。
PlayerPrefs只支持 string / int / float 类型的数据。
存储方法:
PlayerPrefs.SetString("PlayerName",playerName); PlayerPrefs.SetInt("PlayerLevel",playerLevel);
PlayerPrefs.Save();
读取方法:游戏一开始还没有存档,这个时候读取数据会返回默认值。
playerName = PlayerPrefs.GetString("PlayerName","TestName"); //第二个参数是默认值 playerLevel = PlayerPrefs.GetInt("PlayerLevel",1);
二、Json
JsonDotNet
var person = new Person(); var serializedPerson = JsonConvert.SerializeObject(person); var newPerson = JsonConvert.DeserializeObject<Person>(serializedPerson);
LitJson
string json=JsonMapper.ToJson(player); Player player = JsonMapper.ToObject<Player>(json);