Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Как загрузить новый уровень в Unity 5.3+?

#c_sharp #unity3d


До версии 5.3 я мог спокойно написать:

Application.LoadLevel(Application.loadedLevel);


и загрузить уровень по имени или индексу.

Но теперь использовать этот способ не работает, пишет ошибку:


  UnityEngine.Application.LoadLevel(int) is obsolete: `Use SceneManager.LoadScene'


Что это за менеджер сцен такой? Как теперь получить, например, текущую сцену и загрузить её?
    


Ответы

Ответ 1



Юнити развивается и что-то переделывается, улучшается. Теперь за загрузку уровней (сцен) отвечает как раз логичный SceneManager, а не аж целое приложение (Application). Менеджер теперь в своем пространстве имен. Подключается: using UnityEngine.SceneManagement; Пример использования: using UnityEngine.SceneManagement; public class Example { public void ReloadCurrentScene() { // Получаем имя текущей сцены string sceneName = SceneManager.GetActiveScene().name; // Загружаем её саму родимую SceneManager.LoadScene(sceneName, LoadSceneMode.Single); } } Т.е. SceneManager.LoadScene теперь загружает сцену по имени или по индексу, SceneManager.GetActiveScene — получает информацию об активной сцене, в том числе её имя (список переменных сцены: тут). Ну и еще небольшая кучка разных методов.

Комментариев нет:

Отправить комментарий