unity存档修改器 unity游戏文件修改
发布时间: 9/28/2023 9:00:35 AM 来源: 兮念
您好,今天琪琪来为大家解答以上的问题。unity存档修改器相信很多小伙伴还不知道,现在让我们一起来看看吧!
unity存档修改器 unity游戏文件修改
1、存档在许多游戏中已经成为了不可或缺的一部分,先不论联机的网络游戏,一些长流程游戏,比如黑帝斯,空洞骑士等(让我咕的万恶之源属于是),这样不存档让玩家连续花30+个小时甚至更久属实是让玩家坐牢,变成了班尼特福德之类的阴间游戏。
2、这不仅对玩家是坐牢,对测试游戏的人更是一种全新的坐牢体验:要是要测试后面的关卡有没有bug,那就一定要把前面的打了,然后测出了bug游戏运行不了改了bug要重新来,想想就离谱。
3、但如果拿特定的存档进去测试那肯定少了很多时间和精力。
4、 综上所述,单机游戏存档的好处如下: 1.长流程游戏可以让玩家分几次体验,失败了也可以重新读档,减少了玩家的坐牢体验 2.测试时可以直接进入特定地点进行测试,不需要从头打起不断被自己的粪作ex到 3.肯定还有但我懒得想了 对此,Unity有这几种方法进行游戏存档: PlayerPrefs的妙用 对于存档,Unity特别在脚本里提供了PlayerPrefs类的方法。
5、它的方法是提供给玩家int,float,string三个类型进行储存与修改。
6、每一个变量名都对应这一个值,也就是键值对,类似于字典类型。
7、这三个类型的变量名和值都是直接储存在文件里的,所以可以达到储存轻量数据的可能。
8、 相关代码也很简单,具体是: PlayerPrefs.SetString("Name",name); //储存string类变量 PlayerPrefs.SetFloat("Name",name); //储存float类变量 PlayerPrefs.SetInt("Name",name); //储存int类变量 //这三个的意思是:创建名字叫Name的变量在PlayerPrefs里, //同时他们的值和name相等(当然name也可以直接打float,int,string类型的常量) Str=PlayerPrefs.GetString("Name"); //读取string类变量并存在Str里 I=PlayerPrefs.GetInt("Name"); //读取int类变量并存在I里 F=PlayerPrefs.GetFloat("Name"); //读取float类变量并存在F里 //如果不存在Name,那么会返回0 PlayerPrefs.DeleteAll(); //删除所有键和值 PlayerPrefs.DeleteKey("Name"); //删除Name的键和值 PlayerPrefs.HasKey("Name"); //判断是否存在Name这个键并返回true或者false 这些代码虽然很简单,但是只能存储三个类型而且不能做成一个类,所以只能用在一些简单的存储,比如简单变量和玩家设置里,比如获得金币钻石数量啊,开不开bgm啊(开了就setint为1,然后每次进游戏getint判断是不是1,是了就开)什么的。
9、当然如果你硬要存储玩家数据也不是不可以,就是有种拿水果刀杀牛的感觉(别问我为什么不是鸡刀,你见过鸡刀吗),不太值得属于是。
10、 注意: 因为是存在文件里,所以你Unity调试也是运行了PlayerPrefs的代码里的,所以在停止调试后PlayerPrefs的改变不会变回来捏 。
本文到这结束,希望上面文章对大家有所帮助。