[英]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.