簡體   English   中英

空引用異常錯誤-Unity,C#

[英]Null Reference Exception Error - Unity,C#

我收到“ NullReferenceException:對象引用未設置為對象的實例”,我不知道我的代碼出了什么問題:

我有一個類“ EnemyInfo”作為

public class EnemyInfo  {   
public GameObject enemyObject;  
}

在另一類“敵人”中,我這樣使用它:

public class Enemies :  MonoBehaviour  {    

public static List<GameObject> gos;
public static List<EnemyInfo> gosN = new List<EnemyInfo>();

void FixedUpdate() {
gos = new List<GameObject>(GameObject.FindGameObjectsWithTag("enemy"));
gosN.Add(null)
gosN[0].enemyObject = gos[0].gameObject   //here I am getting error, dont know y :S

}
}

那是因為gos僅包含一個為null的對象。

這就是為什么您得到NullReferenceException的原因。

我懷疑gos[0].gameObject是問題。

如果gos是空的,開始,做gos.Add(null) ,增加了一個null項。

然后,您可以使用gos[0]訪問此值,並嘗試在其上調用成員-由於此為null ,因此您將獲得NullReferenceException

不要添加null GameObject

列表為空,您沒有實例來引用公共實例成員

顯然,之后

gos.Add(null)

你有gos[0] == null 因此gos[0].gameObject取消引用null -reference。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM