我收到“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
}
}
答案 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
- 参考。