所以我决定将我的游戏分成不同的场景(主菜单,游戏等)。我试图在我的代码中使用if语句检查当前场景是否为&# 34; GAMEOVER"所以我可以采取一些行动。我知道Unity现在使用SceneManager而不是Application,但是这个函数的等价物
if(Application.loadedLevelName == "gameover")
我试过SceneManager.GetActiveScene == "gameover"
但我只是得到错误,就像在这里使用==一样。
我导入了SceneManager以及
答案 0 :(得分:3)
您在此处收到错误,因为SceneManager.GetActiveScene()
会返回SceneManager.Scene
类型的对象,而不是字符串。但是,according to the documentation,您可以访问公共Scene.name
,这是一个字符串。
所以非弃用的等价物:
if (Application.loadedLevelName == "gameover") {
// ...
}
将是:
if (SceneManager.GetActiveScene().name == "gameover") {
// ...
}