刚分配对象时出现Unity NullReferenceException

问题描述 投票:0回答:1

我有一个正在实例化的GameObject:

var face = Instantiate(waveConfigs[waveNumber].getFacePrefab(), waypoint.position, Quaternion.identity, FindObjectOfType<Canvas>().transform);

Debug.Log(face, this);
faces.Add(face);

faces在上面这样声明:

List<GameObject> faces;

对象被实例化,DebugLog如下:

Smile(Clone) (UnityEngine.GameObject)
UnityEngine.Debug:Log(Object)
FaceSpawner:SpawnFaces(Int32) (at Assets/Scripts/FaceSpawner.cs:30)
FaceSpawner:Start() (at Assets/Scripts/FaceSpawner.cs:16)

((这是Debug.Log(face,this);)

然后紧接着,当我打电话给faces.Add()

NullReferenceException: Object reference not set to an instance of an object
FaceSpawner.SpawnFaces (System.Int32 waveNumber) (at Assets/Scripts/FaceSpawner.cs:31)
FaceSpawner.Start () (at Assets/Scripts/FaceSpawner.cs:16)

我没有得到它,我已经从字面上just分配了这个变量,它起作用了,它出现在画布上,我可以将其注销到调试日志中,然后当我尝试将其添加到列表中时,得到NullReference。这是怎么回事?

c# unity3d nullreferenceexception
1个回答
0
投票

faces容器是否也像List<GameObject> faces = new List<GameObject>()一样被初始化了?还是您要尝试列出。向null面孔对象添加元素?

© www.soinside.com 2019 - 2024. All rights reserved.