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