您当前的位置: 首页 >  unity

Allen Su

暂无认证

  • 4浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Unity3D 教程系列第 17 篇】如何修改变量名,但又不丢失序列化后的引用

Allen Su 发布时间:2019-05-14 21:25:13 ,浏览量:4

这是【Unity3D 教程系列第 17 篇】,如果觉得有用的话,欢迎关注专栏。

你有没有遇到过这样的情况?修改了一个变量名,然后其对应的所有引用全部丢失了,不知道该怎么办,只能再引用一次吗?当然不是,怎么办呢?

文章目录
      • 解决方法
例子:

首先,声明一个列表,并在 Start 函数里初始化,代码如下

public class SaveObj : MonoBehaviour
{
    public List oldSaveObj;
    void Start()
    {
        oldSaveObj = new List();
    } 
}

其次,在 Unity 里生成一个空物体,挂上 SaveObj 脚本,更改空物体名为 obj_Parent ,然后以它为父物体,再生成5个子物体。 锁定父物体后,全选子物体,拖拽到脚本里的 oldSaveObj 处,列表会根据你拖拽的个数自动设置长度,如下所示 在这里插入图片描述 过了不久你觉得列表的变量名 oldSaveObj 不太合适,然后你顺手就直接给改成 saveObj ,你以为只是改个变量名而已,不会有啥影响,然后你回到工程后,却发现是这样的 在这里插入图片描述 没错,之前挂载的对象(引用)全部丢失了,你在庆幸还好只是5个,重新拖一遍就行了,可这只是一个脚本,一个变量名,如果更多呢?重复拖拽的方法还可取吗?当然不可取,那怎么做呢?继续看

解决方法

文字解释: 步骤一:首先引用命名空间 using UnityEngine.Serialization 步骤二:在你需要更改变量名的上方加上如下一行代码: [FormerlySerializedAs(“括号里填修改前的变量名”)],然后再更改你想要的变量名即可,

图解如下: 在这里插入图片描述 此时你再回工程看,别害怕,这次没事(有事的话,关注一下,哈哈)

当然,这行代码要在引用还在,未更改变量名前写,切忌!!!

至此,结束。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0701s