Null引用异常错误- Unity, c#

本文关键字:Unity 错误 引用 异常 Null | 更新日期: 2023-09-27 18:18:56

我得到"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
}
}

Null引用异常错误- Unity, c#

这是因为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