Unity中PlayerPrefs.DeleteAll()无法清除数据的问题

来源:互联网 发布:linux 打开防火墙端口 编辑:程序博客网 时间:2024/05/17 22:20


        我们的游戏中都需要保存自己是游戏数据,其中我们会用到PlayerPrefs,使用方法不用再说,在这里提一下的就是说,自己的游戏

也不知做了什么操作,之后在用PlayerPrefs.DeleteAll()清楚数据就起不到作用了,这个时候你回头看一下,你的unity 中

PlayerSetting(快捷键Shift + Ctrl + B)中的"Company Name" 和"Product Name" 的值有没有改变过,PlayerPrefs的存储数据是根据

这两个名字来在注册表内找到相应的位置进行存储的(在Windows独立模式下,PlayerPrefs被存储在注册表的 HKCU\Software

\[company name]\[product name]键下,这里company和product名是在 Project Setting中设置的.)。



        如果说你把这两个的位置的值改回来,你会发现就又可以进行数据的清理,如果游戏制作中,由于某种原因会把你的Product Name

该掉(游戏的名称),之后就会发现不能清楚数据了,如果说想保存你的游戏名称不变,又想清理游戏数据,那么就可以单单的改

变你“Company Name”的值,这样会在注册表中重新为你的游戏开出一个新的“档案”进行数据的存储,从而就达到了数据清理的目

的,当然你会觉得这样会麻烦一些,再说了也没用到“PlayerPrefs.DeleteAll()”这个语句,目前不借助插件的前提下查到的方法就只有

这个。


        如果条件允许,你可以借助与Advanced PlayerPrefs Window这个插件,对于你的“Product Name”是英文的情况是没问题的,

但是对于你的游戏名称是中文的就另当别论了!


        水平有限,欢迎发表您的宝贵意见!谢谢!

0 0
原创粉丝点击