使用SceneManager检查当前场景名称

所以我决定将我的游戏分成不同的场景(主菜单,游戏等)。我试图在我的代码中使用if语句来检查当前场景是否是“gameover”所以我可以执行一些动作。 我知道Unity现在使用SceneManager而不是Application,但是这个function相当于什么

if(Application.loadedLevelName == "gameover") 

我已经尝试过SceneManager.GetActiveScene == "gameover"但是我只是得到错误就像不能使用==这里。 我已经导入了SceneManager

你在这里得到一个错误,因为SceneManager.GetActiveScene()返回一个SceneManager.Scene类型的对象,而不是一个字符串。 但是, 根据文档 ,这使您可以访问公共Scene.name ,这是一个字符串。

所以非弃用的相当于:

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

将会:

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