无法从gameobject统一获取Button脚本

时间:2016-10-24 13:50:32

标签: user-interface button unity3d gameobject

我的游戏中有一些按钮,我希望当主机播放器应答并选择一个按钮来获取此游戏对象按钮的按钮脚本以更改其颜色。

但是我得到了一些错误:

  

NullReferenceException:未将对象引用设置为的实例   对象

这是我的代码:

Button playerOneAnswerBtn = GameObject.FindWithTag (playerOneAnswer).GetComponent<Button> ();
ColorBlock cbPlayerOneAnswer = playerOneAnswerBtn.colors;
cbPlayerOneAnswer.normalColor = Color.blue;
cbPlayerOneAnswer.highlightedColor = Color.blue;
playerOneAnswerBtn.colors = cbPlayerOneAnswer;

1 个答案:

答案 0 :(得分:0)

我想你是编程新手,你应该记住NullReferenceException的含义 当您尝试使用值为null的引用类型(C#,Visual Basic)的方法或属性时,会发生NullReferenceException。 (more) 因此,在您的情况下,有对象缺失/ null并且您尝试访问它。最有可能是这一行

  Button playerOneAnswerBtn = GameObject.FindWithTag (playerOneAnswer).GetComponent<Button> ();

您可以通过

确保它
if(GameObject.FindWithTag (playerOneAnswer)! = null){
    //your code
}
else{
    Debug.LogError(playerOneAnswer +" tag object did not found.")
}