在我的游戏中,我有多个级别,每个级别有6个场景,场景名称为:场景1,场景2,场景3 ...等...
当玩家失败时,应重新启动当前场景,因此我使用了以下代码:
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
我没有使用“(...)GetActiveScene()。name);”因为场景名称在每个级别上都是重复的。
我遇到的问题是,当玩家在级别2(场景6)中输了时,级别1的场景6已加载,而不是重新启动级别2的场景6。您知道我的代码有什么问题吗?
答案 0 :(得分:1)
在您的特定情况下可能无法回答为什么会发生这种情况,但是我希望有两个建议:
只是一种解决方法,但是如何正确命名场景而不是像Level1_Scene1
,Level2_Scene3
等
因此,使用GetActiveScene().name
或者,您也可以尝试使用GetActiveScene().path
(这一直是唯一的),因为LoadScene
需要
要加载的场景的名称或路径。
答案 1 :(得分:0)
使用场景名称定位特定场景似乎是最好的方法。另外,值得用一种可区分的方式命名场景,因为其他人可能无法理解您的代码,或者您可能无法使用quarters
。