空引用异常错误 - Unity,C#

时间:2011-12-27 14:30:30

标签: c# unity-container

我收到“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

}
}

4 个答案:

答案 0 :(得分:5)

多数民众赞成因为gos只包含一个 null 的对象。

这就是你获得NullReferenceException的原因。

答案 1 :(得分:2)

我怀疑gos[0].gameObject是个问题。

如果gos开头为空,则执行gos.Add(null),添加null条目。

然后,您使用gos[0]访问此值并尝试在其上调用成员 - 因为这是null,您将获得NullReferenceException

请勿添加null GameObject

答案 2 :(得分:1)

列表为空,您没有实例来引用公共实例成员

答案 3 :(得分:0)

显然,在

之后
gos.Add(null)

你有gos[0] == null。所以gos[0].gameObject取消引用null - 参考。