修改unity变量名但不丢失序列化值
发表于2018-05-26
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
还是保留数据的
当然你写多个也是没关系的
以上小技巧简单实用,欢迎阅读!