查看原文
其他

程序丨如何修改Unity变量名但不丢失序列化值?

vian 腾讯GWB游戏无界 2022-08-30

1.如下图,给gameobject挂一个脚本,脚本里有一个public变量,我们拖放当前gameobject上去即可赋值。


 

2.上面步骤很简单,如果突然间要改变量名怎么办?简单直接改啊!


按大家所想,就先直接改了。



改完之后,这个变量已经变为none了!

 

3.好,以上就是本文要介绍的,修改变量名称如何保留引用?最重要的是不丢失数据!


预设改名、gameobj改名这些都可以,不会丢失里面数据。


好,那么如何来解决修改变量导致丢失数据问题呢?


当然如果你不嫌麻烦,每次修改变量后再重新去设置一次对应数据,那你不用往下看了,下面就为你来解决这些麻烦。

 

4.方法操作说明。


首先你需要先阅读以下:

https://docs.unity3d.com/ScriptReference/Serialization.FormerlySerializedAsAttribute.html


create a property to encapsulate myValue without losing any data already assigned to instances of MyClass.这就是我想要的。


首先我修改脚本:



将原来的变量名playerObj修改为playerObjNew,再打开Unity看看,刚给playerObj设置的数据还在不在?



以上就达到了要求!

 

5.还想改名。



这里将原来的变量名playerObjNew修改为playerObjNew1。



还是保留数据的。


当然你写多个也是没关系的。


 

以上小技巧简单实用,欢迎阅读!


今日推荐

Unity插件介绍:Flux的上手教程

新手入门:如何用Laya开发微信小游戏?

一键添加

加小编微信回复“程序”,享双重福利

1.加入GAD程序猿交流群,获取行业干货;

2.领取60G腾讯内部分享等独家程序资料。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存