我的项目可以正常运行,只有在我构建并在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);
}
}