嘿,我正在为我的游戏制作游戏画面。我希望它获得游戏结束屏幕,然后在玩家死亡时重新启动该级别。我以低效的方式制作了多个游戏结束画面,然后将每个游戏结束连接到其场景,以便可以重新启动该场景。我的问题是,它仍然会进入我的主要水平,并跳过了教程。代码:
if (health == 0)
{
if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Level 2 - Damages"))
SceneManager.LoadScene("Gameover 1");
if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Level 3 - Wall Climbing"))
SceneManager.LoadScene("Gameover 2");
if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Level 4 - FallingPlatform"))
SceneManager.LoadScene("Gameover 3");
if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Level 5 - Buttons And Switches"))
SceneManager.LoadScene("Gameover 4");
if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Final Level"))
SceneManager.LoadScene("Gameover");
}
答案 0 :(得分:1)
我真的不了解您在游戏结束场景和主要/后场场景之间的关联是什么。
在“构建设置”的“文件”菜单中,您可以重新排列场景。确保启动/教程/要开始的任何场景都在列表顶部。
更新; ps。切换可能也更容易 类似于:
if (health == 0)
{
switch(SceneManager.GetActiveScene()){
case SceneManager.GetSceneByName("Level 2 - Damages"):
SceneManager.LoadScene("Gameover 1");
break;
case default:
SceneManager.LoadScene("MainMenu");
}
}