使用SceneManager检查当前场景名称

时间:2016-05-25 19:18:32

标签: c# unity3d

所以我决定将我的游戏分成不同的场景(主菜单,游戏等)。我试图在我的代码中使用if语句检查当前场景是否为&# 34; GAMEOVER"所以我可以采取一些行动。我知道Unity现在使用SceneManager而不是Application,但是这个函数的等价物

 if(Application.loadedLevelName == "gameover")

我试过SceneManager.GetActiveScene == "gameover" 但我只是得到错误,就像在这里使用==一样。 我导入了SceneManager以及

1 个答案:

答案 0 :(得分:3)

您在此处收到错误,因为SceneManager.GetActiveScene()会返回SceneManager.Scene类型的对象,而不是字符串。但是,according to the documentation,您可以访问公共Scene.name,这是一个字符串。

所以非弃用的等价物:

if (Application.loadedLevelName == "gameover") {
    // ...
}

将是:

if (SceneManager.GetActiveScene().name == "gameover") {
    // ...
}