c# - 如何加载正确的场景
问题描述
嘿,我正在为我的游戏制作一个游戏结束屏幕。我希望它获得游戏结束屏幕,然后当玩家死亡时它会重新启动该级别。我以一种低效的方式制作了多个游戏结束屏幕,然后将每个游戏结束连接到他们的场景,这样它就可以重新启动那个场景。我的问题是它仍然进入我的主要级别并跳过教程。代码:
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");
}
解决方案
我真的不明白你的游戏结束场景和你的主要/教程场景之间的相关性是什么但是..
在构建设置中,从文件菜单中,您可以重新排列场景。确保启动/教程/您想要开始的任何场景都位于列表的顶部。
更新; 附言。切换可能也更容易,类似于:
if (health == 0)
{
switch(SceneManager.GetActiveScene()){
case SceneManager.GetSceneByName("Level 2 - Damages"):
SceneManager.LoadScene("Gameover 1");
break;
case default:
SceneManager.LoadScene("MainMenu");
}
}
推荐阅读
- r - 如何根据 R 中的一些常用词进行计数
- php - 添加两个标头函数后PHP“页面未正确重定向”
- json - 我需要使用 JSONATA 的以下格式的 json 数据
- jquery - 在线测验,需要不同的计时器
- wordpress - 如何删除主页存档帖子上的悬停颜色/圆圈内容
- java - 有没有办法在android中为api 21和22制作带有深色图标的白色状态栏
- git - 如何将 GitHub 分支推送到服务器
- php - 如何使动态生成的页面(通过简码)在 Wordpress 网站内可搜索?
- sql - 我如何从他的所有资格列表中根据他的最低资格找到学生的详细信息
- python - 如何在 Python 中正确调节 Union 类型?