C# 重新加载场景会导致脚本停止工作

C# 重新加载场景会导致脚本停止工作,c#,unity3d,C#,Unity3d,我有一个简单的脚本,可以重新加载我的场景。该函数由button OnClick()事件调用 此函数应重新启动当前场景。它实现了我所期望的,但有一个问题:大多数脚本都不工作 唯一有效的脚本是音频源,以及我编写的另一个简单脚本。当我只按“播放”键时,没有错误 我使用的是Unity 5.6.0b9 Personal。重新加载场景会重置变量,除非您使用的是静态变量。对象的新实例会将每个对象重置为其初始状态。静态变量不会被销毁,因为它们不属于实例。您可以手动重置这些 DontDestroyOnLoad()

我有一个简单的脚本,可以重新加载我的场景。该函数由button OnClick()事件调用

此函数应重新启动当前场景。它实现了我所期望的,但有一个问题:大多数脚本都不工作

唯一有效的脚本是音频源,以及我编写的另一个简单脚本。当我只按“播放”键时,没有错误


我使用的是Unity 5.6.0b9 Personal。

重新加载场景会重置变量,除非您使用的是
静态变量。对象的新实例会将每个对象重置为其初始状态。静态变量不会被销毁,因为它们不属于实例。您可以手动重置这些

DontDestroyOnLoad()
有点不同。它要求团结,如果一个新的场景被破坏,不要破坏一个物体。这样这些对象就不会被破坏(重置)


如果动态添加了一些脚本,那么它们也会被销毁。除非将它们添加到
DontDestroyOnLoad()
父级。

这很不幸。。。有没有一种简单的方法可以在不检查所有变量的情况下重置这些变量?@yummypasta,我已经写了一些案例。哪一个和你的相似/相配?如果我知道哪一个最适合你的情况,我可以详细地写。目前,我只在编辑器中添加了脚本(不是通过代码)。我没有
DontDestroyOnLoad()
GameObjects。变量似乎没有问题,但我的一些脚本似乎没有
Update()
ing.@yummypasta,我创建了场景,放置了一个立方体,添加了一个脚本来旋转它。添加了一个按钮并附加了一个脚本,onCLick()将重新加载场景。无法重现你的问题。多一点代码会有帮助的。我刚刚发现我的问题与重新加载场景无关。我刚刚将时间刻度设置为0!哎呀。。。抱歉给你带来困惑。嘿,好吃,你可能正面临着Unity中最大的困惑:你可能需要这样做-
public void ReloadScene(){
    SceneManager.LoadScene (SceneManager.GetActiveScene ().name);
}