Отображение окна

В этой теме 2 ответа, 2 участника, последнее обновление  makish 5 мес. назад.

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #4954

    spoty76
    Участник
    Сообщений:19

    Зарегистрирован:
    23.03.2017

    Репутация:2

    Я сделал меню, как бы все кнопки и тело цикла while работают, но почему-то я не могу двигать окно и кнопки закрытия и свертывания окна не реагируют, консоль работает нормально

     

    #4955

    spoty76
    Участник
    Сообщений:19

    Зарегистрирован:
    23.03.2017

    Репутация:2

    И еще меню сильно виснет, компьютер очень сильно нагружаетя

    #4956

    makish
    Участник
    Сообщений:14

    Зарегистрирован:
    04.06.2015

    Репутация:6

    1. Окно не реагирует ни на что т.к. в функции main нет обработчика Event’ов (или есть, но находится он после функции menu())

    2. Создавать для каждого игрового состояния(меню, настройки, игра и т.д.) собственную функцию с циклом while внутри неправильно, дальше это может привести к большим проблемам. Цикл while желательно иметь один на всю игру.

    Для этого лучше использовать паттерн State(состояние). Можешь загуглить полную его реализацию, я лишь вкратце опишу как он работает.

    Для начала нужно создать класс Game для всей игры:

    Далее нужно создать базовый класс для состояний:

    Теперь для каждого состояния игры можно делать свой класс. Покажу на примере меню:

    И так для каждого состояния игры.

    После этого функция main будет выглядеть следующим образом:

     

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)

Для ответа в этой теме необходимо авторизоваться.