我对Unity非常陌生,因此这可能是一个愚蠢的问题,但在检视器中设置值是否与在代码中设置默认值相同?
举个例子:
public string name; //then go to inspector and set it as "Bob".
或者
public string name = "Bob";
所以,重新表述一下,以上这些操作能够达到相同的效果吗?
我对Unity非常陌生,因此这可能是一个愚蠢的问题,但在检视器中设置值是否与在代码中设置默认值相同?
举个例子:
public string name; //then go to inspector and set it as "Bob".
或者
public string name = "Bob";
name
变量初始化为“Bob”的值。public
。原因是你会遇到一个错误,需要花费时间去发现和修复。public string name = "Bob";
然后你去编辑器让它编译。之后,你回到代码并将其更改为"Jake":
public string name = "Jake";
name
仍然是"Bob"。直到重命名name
变量或包含name
变量的脚本/组件被重置之前,编辑器中将显示name
变量的最新值:
这是一个浪费时间的问题,而且确实有人还在遇到这个问题。如果你想把变量public
,但不想从编辑器中对它进行赋值,则可以使用[HideInInspector]
属性来隐藏它。[HideInInspector]
public string name = "Bob";
这样做可以确保您不会在编辑器中错误地更改它,并导致问题,同时允许其他脚本访问您的变量。
这仅适用于变量声明的位置。您可以在稍后的函数或属性中更改变量,而更改应该会生效,没有任何问题。