关于unity中数据的简单存储和EditorPrefs.DeleteAll()的谨慎使用

因为最近在和别人合作做单机2D回合制RPG,所以需要在本地存储数据,Unity中有PlayerPrefs和EditorPrefs两种,图片里列举了这两种方式的存储和获取方法,其中EditorPrefs比PlayerPrefs多了一个bool的存储和获取。EditorPrefs是在编辑器模式下的存储功能,PlayerPrefs是游戏运行时的代码里定义的存储功能,比如游戏结束显示最高分,就可以调用PlayerPrefs的方法来存储这个分数,以便再一次进入游戏时调用PlayerPrefs获取键值的方法时能得到上一次的最高分。

接下来说一下PlayerPrefs.DeleteKey()和EditorPrefs.DeleteKey(),这两个就是删除某个key和对应的value。

最后就是PlayerPrefs.DeleteAll()和EditorPrefs.DeleteAll()的区别和共同点,首先共同点就是删除所有key和所有value。接着区别就是PlayerPrefs删除的是代码里主动调用方法存储的所有key和value,而EditorPrefs删除的除了编辑器模式下的测试用的所有key和value,可能还包括unity编辑器自身存储的key和value,其中就包括下面图中的数据,原本No local projects 处是之前打开过的其他项目的名字和路径以及使用的unity版本,但是在编辑器模式下用了EditorPrefs.DeleteAll()这个方法后,这边就消失了,其他版本的unity也都消失了,会造成一些不必要的麻烦,而且还把编辑器菜单栏Edit -> Preference -> General -> Auto Refresh 的勾取消了,这是unity脚本有变化时会自动编译的选项,所以在编辑器模式下得谨慎使用EditorPrefs.DeleteAll()这个方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值