无法在统一3D模式下重新启动场景

时间:2018-12-31 14:13:44

标签: c# unity3d

在我的游戏中,我有多个级别,每个级别有6个场景,场景名称为:场景1,场景2,场景3 ...等...

当玩家失败时,应重新启动当前场景,因此我使用了以下代码:

SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);

我没有使用“(...)GetActiveScene()。name);”因为场景名称在每个级别上都是重复的。

我遇到的问题是,当玩家在级别2(场景6)中输了时,级别1的场景6已加载,而不是重新启动级别2的场景6。您知道我的代码有什么问题吗?

2 个答案:

答案 0 :(得分:1)

在您的特定情况下可能无法回答为什么会发生这种情况,但是我希望有两个建议:

只是一种解决方法,但是如何正确命名场景而不是像Level1_Scene1Level2_Scene3

因此,使用GetActiveScene().name

都可以唯一标识它们

或者,您也可以尝试使用GetActiveScene().path(这一直是唯一的),因为LoadScene需要

  

要加载的场景的名称或路径

答案 1 :(得分:0)

使用场景名称定位特定场景似乎是最好的方法。另外,值得用一种可区分的方式命名场景,因为其他人可能无法理解您的代码,或者您可能无法使用quarters