繁体   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