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);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签