我想使用静态变量为其他脚本提供Gui-text。在我将这些变量声明为静态的脚本中,一切正常 - 在所有其他脚本中,我得到NullReferenceException
。
这里是Outputscript的代码:
public class OutputScript : MonoBehaviour {
public static UnityEngine.UI.Text CommandText;
public UnityEngine.UI.Text ct1;
void Start()
{
CommandText = ct1;
Debug.Log("static output's set");
}
}
以下是访问它的另一个脚本的方法:
void OnTriggerExit()
{
OutputScript.CommandText.text = "";//nullRefException
}
如果我在OutputScript中尝试这个,那就没有异常
void Start()
{
CommandText = ct1;
OutputScript.CommandText.text = "";//works fine
Debug.Log("static output's set");
}
如果我签入null
的其他脚本,则会返回true
。
我知道NullReferenceException是什么,但是在这种情况下我设置了公共静态变量,但是它的值在这个脚本中不是空的,这对我来说并不合乎逻辑。 我真的不知道那里发生了什么。
对于那些不了解Unity3d Scipt enigne的人: