@vovka_losira

Почему не работает сцена после перезагрузки?

Перезагружаю сцену :
public void Restart()
    {
        SceneManager.UnloadSceneAsync("game");
        SceneManager.LoadSceneAsync("menu");
    }


После этого сцена замораживается. Она перезапускается, но не работает. Из-за чего такое может быть? Как решить проблему?
  • Вопрос задан
  • 392 просмотра
Пригласить эксперта
Ответы на вопрос 1
Как-то так, читай комменты в коде и всё поймёшь:
void Update()
    {
        // Если нажат пробел — запускаем сопрограмму
        if (Input.GetKeyDown(KeyCode.Space))
        {
            // Coroutine при фоновой загрузке обязателен
            StartCoroutine(Restart());
        }
    }

    IEnumerator Restart()
    {
        // Начинаем загрузку сцены
        AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("menu");

        // Ждём, пока сцена полностью загрузится
        while (!asyncLoad.isDone)
        {
            // Прерываемся, раз ещё не загружено
            yield return null;
        }
        // Выгрузить единственную открытую сцену нельзя
        // Сперва загружаем, а потом выгружаем
        SceneManager.UnloadSceneAsync("game");
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы