我有一个循环来从列表中搜索特定对象,然后我将它存储在全局变量中。但是当我尝试获取它时它总是为空并且游戏崩溃。
SpecialItem pickedItem; // (global variable)
void OnGUI()
{
for loop (all objects) // Idictionary<SpecialItem, string>
{
pickedItem = Instantiate(myItem) as SpecialItem;
Debug.Log("this->" + pickedItem.name.ToString()); // ERROR
}
}
Unity 错误是:MissingReferenceException:“SpecialItem”类型的对象已被破坏,但您仍在尝试访问它。
我认为这是因为 foreach 所以我用普通的 for 循环替换它
有人可以解释一下为什么会这样吗?可以做些什么来解决?我最初的想法是使用对象本身,但似乎我做不到,所以我尝试制作一个副本。