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