单例被销毁的问题,但仅当在Xcode中调试时

时间:2019-04-20 02:12:53

标签: xcode unity3d

我的项目可以正常运行,只有在我构建并在Xcode中运行它后,才会发生此问题。我的玩家对象附有一个单身人士。切换场景仍然会导致场景被销毁(但没有其他附着了单身元素的游戏对象,例如游戏管理器)。

我在代码中发现了每个Destroy(object)调用,并输出了要销毁的对象的标签,在我的基本测试过程中它根本没有发生,所以我知道我自己的代码没有这样做。我确实在单例脚本中添加了“ onDestroy”方法,并且在切换场景时,在Xcode中运行但不统一时会调用该方法,因此再次看起来好像是在Xcode中破坏了它,而不是统一。 关于该主题的其他文章还提到,如果父对象被销毁,那么脚本也将被破坏,但是脚本会附加到父对象,并且不会在代码中创建该游戏对象的父对象。

有人经历过这样的事情吗,或者可能知道原因是什么?任何帮助表示赞赏

单例脚本是您的基本知识:

public static PlayerManager instance;
void Awake()
{
    //make singleton
    if (instance == null)
    {
        instance = this;
        DontDestroyOnLoad(gameObject);

    }
    else if (instance != this)
    {
        Destroy(gameObject);
    }

    }

0 个答案:

没有答案