SceneManager 不存在 Unity 命名空间错误

Unity namespace error does not exist with SceneManager

我正在使用 unity SceneManager,但它给我一个命名空间错误,它在

中不存在
using UnityEngine;
using UnityEngine.SceneManagement;

public class ManageGame : MonoBehaviour
{

    bool gameHasEnded = false;

    public void GameOver()
    {
        if (gameHasEnded == false)
        {
            gameHasEnded = true;
            Debug.Log("GAME OVER");
            Restart();
        }

    }

    void Restart () 
    {
        SceneManagement.LoadSceneMode(SceneManager.GetActiveScene().name);
    }


}

我看了关于SceneManger的官方文档,我检查了using部分,是一样的。 我的版本是2019.3.14。 为什么会这样?

您能否 post 了解更多关于您的脚本的信息?您尝试调用 SceneManager 的哪个方法,这段代码究竟是什么样子的?你的Unity版本是多少?你的其他 'using' 陈述是什么?

没有更多细节我们只能猜测:'UnityEditor' 和 'UnityEngine' 命名空间都包含 SceneManagement 命名空间,这可能会引起一些混淆。

编辑: 感谢您使用更多信息更新问题。我看到两个问题:

1.) 您正在尝试调用名称空间上的方法(SceneManagement 是名称空间而不是 class)。相反,您想访问 SceneManagement 命名空间中的 class SceneManager。

2.) LoadSceneMode() 不是 SceneManager 中的方法。有一个具有该名称的枚举,但没有方法。您想使用方法 LoadScene()

所以正确的行是:

SceneManager.LoadScene(SceneManager.GetActiveScene().name);