首页 > 技术文章 > Unity:数据存取

tomatokely 2022-02-12 16:05 原文

常见数据存取方式:

  • 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);                   

推荐阅读