@NeznaykaVshapke

Как реализовать паузу при переходе между сценами?

Задача следующая, по нажатию кнопки с клавиатуры (у меня это Esc) необходимо ставить игру в сцене 1 на паузу и открывать сцену 0 с меню.
Сделать не сложно, но возникает проблема, когда возвращаюсь из меню в игру (со сцены 0 на сцену 1) - прогресс в игре теряется - игра стоит на паузе, но в самом своем начале (в точке запуска).
Вот что сейчас есть:
public class PauseMenu : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Pause();
        }     
    }
    void Pause()
    {
        SceneManager.LoadScene(0);
        Time.timeScale = 0;
    }
}

Буду очень благодарен, если кто-то поможет исправить...
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Не понятно чего вы удивляетесь.
Во вы играли партию в шахматы. Потом вдруг захотели поиграть в шашки, смахнули фигуры с доски и разместили на ней шашки. А теперь вы в недоумении, а как же продолжить играть в шахматную партию, если вы состояние фигур не сохранили.
Если вы меню делаете в сцене, а не префабом, так не грузите одну сцену заместо другой (теряя всё не предыдущей), а добавляйте её "аддитивно".
ПС. Да и timeScale в 0 вам ещё аукнется. Научитесь сохранять состояния игры и восстанавливать его.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы