使用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") { // ... }