一般要解决几个问题:
1.游戏版本的升级
2.玩家有多个存档
3.玩家破坏存档的情况
PlayerPrefs
优点:上手简单,存储方便,不用考虑内部实现,适合做小游戏的数据存档。
缺点:只支持基本数据类型,无法存储一个类,数组,集合,字典等。
优点:
1.除了静态类型和抽象类型以及类必须标记为[Serializable]的,其他的都可以被序列化:类,数组,集合,字典,类及其子类等。
缺点:
1.不会调用要序列化类的构造函数。
2.在升级版本后,新增一个字段也只是采用系统默认值,而不是我在类中直接赋的值。
3.在升级版本后,如果删除了之前的一个字段,则无法正确解析(反序列化)。
优点:
1.序列化出来的数据直观,可以序列化类和类中的对象。
2.升级版本后,如果新增了字段,则自动采用你在类中赋给该变量的值。
3.升级版本后,如果删除了之前的字段,则自动忽略之前的字段,而不会像c#序列化一样报错。
缺点:
1.不能序列化字典,二维数组以上的数据。
2.比Json更占空间,且引入的dll也更大。
优点:
1.简单轻量
2.可以满足你要序列化的几乎任何类型数据。
3.如果要升级版本,可以任意删除之前的字段而不会出现不能解析的情况;可以新增字段且采用你在类中直接赋的值。
缺点:
1.相对PlayerPrefs来说,引入了一个250kb左右的DLL文件。
Newtonsoft.Json : https://github.com/SaladLab/Json.Net.Unity3D
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...