没有“UnityEngine.SceneManagement"在UnityEngine命名空间中

本文关键字:UnityEngine 命名空间 SceneManagement 没有 quot | 更新日期: 2023-09-27 18:13:02

我是Unity的完全初学者。我在看一个YouTube视频学习。

在视频中导入UnityEngine.SceneManagement,然后教师使用SceneManager.LoadScene(scenename);来改变场景

当我这样做时,它显示了一个错误。我怎样才能解决这个问题呢?我现在使用的是Unity 5.0。

Mainmenu.cs

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class mainmenu : MonoBehaviour {
    public GameObject levelButtonPrefab;
    public GameObject levelButtonContainer;
    private void Start(){
        Sprite[] thumbnails = Resources.LoadAll<Sprite> ("Levels");
        foreach (Sprite thumbnail in thumbnails) {
            GameObject container = Instantiate(levelButtonPrefab)as GameObject;
            container.GetComponent<Image>().sprite = thumbnail;
            container.transform.SetParent(levelButtonContainer.transform,false);
            string scene = thumbnail.name;
            container.GetComponent<Button>().onClick.AddListener(()=>loadlevel(thumbnail.name));
        }
    }
    private void loadlevel(string scene){
        Debug.Log("1");
    }
}

下面是我得到的错误:

Assets/script/mainmenu.cs(4,19): error CS0234:类型或命名空间UnityEngine命名空间中不存在name SceneManagement。您是否缺少一个程序集引用?

没有“UnityEngine.SceneManagement"在UnityEngine命名空间中

UnityEngine.SceneManagement命名空间是在Unity 5.3(2015年12月)发布时引入的,因为相关的更新说明是第一个提到以前的场景管理实现的弃用:

已弃用:EditorApplication类[…]和应用类[…]) api。它们都重定向到相同的apiEditorSceneManager或SceneManager,建议启动使用新的api。

要使用这个命名空间中的类,例如SceneManager,您需要更新到最新版本的Unity(或至少版本5.3)。