Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Сброс игрового цикла SDL2

Сброс игрового цикла SDL2

Поделиться
SammYDeviLПользовательwww16 апр. 201720:02#0
Всем привет. Пишу курсовой проект, небольшую игру на языке СИ c использованием SDL.
Вся игра, соответственно, работает в игровом цикле. Решил я организовать что-то типо меню. Изначально, перед тем как начнут работать все функции в игровом цикле - весит картинка, на который написано "Press ENTER to start". Ну и тут всё шикарно, жму ентер, игровой цикл начинает работать. Затем, по задумке, при нажатии на ESC опять появляется это окно "меню", а игровой цикл тормозит. Но если опять нажать на Ентер, то игра как бы просто продолжится на том же месте, на котором я её остановил. Вопрос следующий: как мне заставить начать работать игровой цикл с самого начала, когда я жму Ентер?

Вот игровой цикл:

int closewindow = 0;
  while (!closewindow)
  {
    closewindow = ProcessEvents();
    UpdateLogic();
    DoRender(rend);
  }

Есть ещё переменная bool running, которая как раз и отвечает, продолжат свою работу функции внутри цикла или нет, и условие if (running) прописано в начале каждой из этих функций. Вне этого условия обрабатывается только картинка от меню и нажатие клавиш Enter и ESC. Остальное начинает работать, как я сказал, только при нажатии Enter, т.е. running = true. При нажатии ESC running = false. Но опять же, данный способ только "приостанавливает" работу цикла, пока я снова не нажму Enter. Как мне сделать так, чтобы при нажатии ESC работа цикла прекращалась совсем (при этом окно не закрывалось), а при нажатии Enter возобновлялась с самого начала, как будто я только что запустил программу?

SammYDeviLПользовательwww16 апр. 201720:30#1
Отбой, вопрос решил всё таки сам, тему можно закрывать.
vaterПостоялецwww17 апр. 20172:02#2
а правда, что если отпишусь в этой теме, то моё сообщение автоматически продублируется и в соседней?
SlavaLiaПостоялецwww17 апр. 20174:29#3
vater
> а правда, что если отпишусь в этой теме, то моё сообщение автоматически
> продублируется и в соседней?

Правда.

nesПостоялецwww17 апр. 20178:58#4
1

/ Форум / Программирование игр / 2D графика и изометрия

2001—2017 © GameDev.ru — Разработка игр