![[表情_思考]](https://img.tapimg.com/market/images/b619f76842238d6eb4d2f51733ac8ad3.png)
有没有比PlayerPrefs更通用的方法?
修改于12/1145 浏览技术交流
有没有比PlayerPrefs更通用的保存数据的办法?![[表情_思考]](https://img.tapimg.com/market/images/b619f76842238d6eb4d2f51733ac8ad3.png)
![[表情_思考]](https://img.tapimg.com/market/images/b619f76842238d6eb4d2f51733ac8ad3.png)
众所周知,PlayerPrefs在Unity中保存数据的简易程度,堪比“邪修”,想保存一个整数,随时随地都可以来一个PlayerPrefs.SetInt("age", 24);![[表情_酷]](https://img.tapimg.com/market/images/edd50e702f508971043f5619f686740e.png)
![[表情_酷]](https://img.tapimg.com/market/images/edd50e702f508971043f5619f686740e.png)
但是,如果涉及到自定义类型,比如我写了一个MyData的类,PlayerPrefs就只有干瞪眼了,除非配合JsonUtility来序列化MyData类。![[表情_叹气]](https://img.tapimg.com/market/images/9598a6cd4e4eba8470eb1520ed6a885d.png)
![[表情_叹气]](https://img.tapimg.com/market/images/9598a6cd4e4eba8470eb1520ed6a885d.png)
那么,有没有更加通用,且无需考虑序列化,就能保存自定义类型的方法呢?
有的!兄弟,有的!![[表情_祈祷]](https://img.tapimg.com/market/images/464a42984b0c1f0825ba7e3d46fd755f.png)
![[表情_祈祷]](https://img.tapimg.com/market/images/464a42984b0c1f0825ba7e3d46fd755f.png)
那就是Easy Save 3这个插件!
他能!而且写法一样的简单!
同样的栗子🌰:
保存MyData的类:
MyData md = new MyData();
ES3.Save<MyData>("SampleData", md);
如此,就能把MyData保存
。
。想要重新加载,只需要通过刚才用的key--“SampleData”加载:
MyData md = ES3.Load<MyData>("SampleData");
而且!如果MyData类中还有自定义的类型,依然能够保存!无需担心序列化问题!
既然能保存自定义类型,那他的效率会不会很低啊?
不会的!而且他的效率比PlayerPrefs更快!
通常情况,EasySave3比PlayerPrefs快2~5倍!![[心动小镇_点赞]](https://img.tapimg.com/market/images/17a929b2fb36da6ca1d925a7d08acef9.png)
![[心动小镇_点赞]](https://img.tapimg.com/market/images/17a929b2fb36da6ca1d925a7d08acef9.png)
此外,EasySave3还能加密、自定义保存数据的格式、路径、跨平台等等。想深入了解EasySave3的话,大家可以自行查阅网上教程。
EasySave3本身是一个付费插件,有条件的话还是支持正版。
不过,“曲线救国”的版本还是有的,相信大家能够很轻易在网上找到。
不错,有了EasySave3,又能少掉几根头发![[表情_点赞]](https://img.tapimg.com/market/images/ad046261c0249e70312f834776938fe0.png)
![[表情_点赞]](https://img.tapimg.com/market/images/ad046261c0249e70312f834776938fe0.png)



