首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实例化时,如何从GameObject ID转到实际的GameObject?

实例化时,如何从GameObject ID转到实际的GameObject?
EN

Stack Overflow用户
提问于 2021-12-30 18:03:02
回答 1查看 68关注 0票数 0

因此,我正在为我的应用程序开发一个保存系统,并试图将对象存储在一个GameObject数组中,如下所示:

public GameObject[ ] entriesInScene;

当我将GameObject存储在数组中时,它会存储GameObject ID。当我尝试在后面的代码中实例化对象时,请使用以下if循环:

代码语言:javascript
复制
foreach (GameObject go in saveObject.entriesInScene)
      {
        Debug.Log(go);
        GameObject entry = Instantiate(go, position, Quaternion.identity);
        entry.transform.SetParent(null);
        entry.transform.SetParent(scroll.transform);
        entry.transform.localScale = new Vector3(1,1,1);
      }

它给了我一个MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object.的错误

有人知道如何修复这个问题吗?还是知道如何从ID中获取GameObject以使实例化工作?

EN

回答 1

Stack Overflow用户

发布于 2022-01-01 08:18:09

据我所知,通过统一,您将无法通过序列化直接保存整个GameObjects。对于实现保存系统的类似问题,我的方法是将每个对象类型存储为一个预制件,然后将重要值本身保存在脚本中(例如用户可以放置的微波炉预制件,但我会将Vector3存储到这个位置)。在大多数情况下,您应该能够只存储在预制件实例之间更改的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70535176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档