1

我正在统一使用 c# 制作游戏,我希望如果你在第 4 级死亡,你会回到第 0 级,但如果你在第 5 级,你会在第 5 级重生代码:

   {
        int currentSceenIndex = SceneManager.GetActiveScene().buildIndex;
        if (currentSceenIndex <= 4)
        {
            SceneManager.LoadScene(0);
        }
        else if (currentSceenIndex == 4)
        {
            SceneManager.LoadScene(4);
        }   
    }

我做错了什么重生仍然有效,但我总是回到0级如何解决这个问题。我尝试按照教程进行操作,但仍然无法正常工作。我看不到错误,玩游戏时也没有任何错误,所以我不知道错误在哪里。

4

2 回答 2

2

听起来您更愿意使用

if (currentSceenIndex < 4) 

而不是<=因为目前第二个块永远不会到达,因为currentSceenIndex == 4它已经执行了该if

var currentSceenIndex = SceneManager.GetActiveScene().buildIndex;
if (currentSceenIndex < 4)
{
    SceneManager.LoadScene(0);
}
else if (currentSceenIndex == 4)
{
    SceneManager.LoadScene(4);
}   
于 2020-05-18T09:28:15.400 回答
0
public const int MinimumRespawnSceneIndex = 4;

public void Respawn()
{
    int currentSceenIndex = SceneManager.GetActiveScene().buildIndex;

    int spawnAtSceneIndex = currentSceenIndex < MinimumRespawnSceneIndex ? 0 : currentSceenIndex;

    SceneManager.LoadScene(spawnAtSceneIndex);
}
于 2020-05-18T10:05:33.620 回答