リストから特定のオブジェクトを検索するループがあるので、それをグローバル変数に保存します。しかし、フェッチしようとすると、常に null になり、ゲームがクラッシュします。
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ループに置き換えました
なぜこれが起こるのか誰かが私に説明できますか?そして、修正するために何ができますか?当初はオブジェクト自体を操作するつもりでしたが、できなかったようで、コピーを作成してみました。