我有分配给它的标签“玩家”的游戏对象,并尝试通过С#script找到它:
private GameObject player1;
void Srart(){
player1 = GameObject.FindGameObjectWithTag("Player");
if (player1 == null)
Debug.LogError ("Object with player tag had not been found!");
}
void Update(){
Debug.Log (player1.name);
}
问题是在Update()函数中抛出NullReferenceException,但LogError消息不是。这意味着我的对象是通过标签成功找到的。但不知怎的,它不是,因为更新函数中的player1等于null。那我为什么会有这个错误?
答案 0 :(得分:1)
您有拼写错误。
将void Srart()
更改为void Start()
。
查看http://docs.unity3d.com/ScriptReference/MonoBehaviour.Start.html和其他MonoBehaviour方法 - 拼写至关重要!