Попытка полностью перезагрузить сцену - PullRequest
0 голосов
/ 28 мая 2019

Я сделал сцену, которая представляет главное меню игры.В этом меню есть опция для одиночной игры, и, когда я нажимаю на нее, открывается новая сцена «уровня 1».
Кроме того, есть меню паузы, позволяющее игроку выйти из игры и вернуться кглавное меню.
Однако после того, как оно возвращается в главное меню, когда я пытаюсь войти в сцену уровня 1, используя SceneManager.LoadScene ("уровень 1"), возникает много проблем.Это означает, что многие игровые объекты не работают так, как должны.

Я не знаю, почему это произошло, и я был бы признателен, если бы кто-то мог помочь мне решить эту проблему.Спасибо.

1 Ответ

0 голосов
/ 28 мая 2019

Вы можете использовать SceneManager.LoadScene("level 1", LoadSceneMode.Single);, чтобы очистить старую сцену и загрузить только новую, что позволит вам получить чистую сцену и не должно иметь проблем.

Если у вас есть скрипты, которые нуждаются вчтобы войти в новую сцену, вы можете использовать DontDestroyOnLoad(this); в своих сценариях, и они переместятся в новую сцену.Проблема в том, что вы должны убедиться, что ваши скрипты, которые не уничтожаются, не пытаются получить доступ к разрушенным объектам.Из вашего комментария видно, что у вас есть контроллер движения игрока, который не разрушается или создается в сцене меню, и ссылки на него не обновляются корректно при перезагрузке сцены.Вы также можете использовать Destroy(this); в своих сценариях, которые сохраняются при смене сцены, чтобы избавиться от них, когда они закончат работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...