Zmeika
простая аркадная игра
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Страницы
Класс GameScreen

экран игры Подробнее...

#include <GameScreen.hpp>

Граф наследования:GameScreen:
Inheritance graph
Граф связей класса GameScreen:
Collaboration graph

Открытые типы

using GameOverHandler = std::function< void(Score)>
 внешний обработчик события "игра окончена".
 

Открытые члены

 GameScreen (const GameScreen &)=delete
 
GameScreenoperator= (const GameScreen &)=delete
 
void setGameOverHandler (GameOverHandler handler)
 привязать обработчик события "выход".
 
bool isPaused () const
 проверить, поставлена ли игра на паузу
 
- Открытые члены inherited from AScreen
virtual ~AScreen ()
 базовый деструктор выполняет также "отвязку" данного экрана, если он был активным, но onDeselect уже не вызывает
 
void select ()
 использовать данный экран для обработки событий (сделать его активным) Подробнее...
 

Защищенные члены

void onSelect () override
 вызывается при выборе данного экрана
 
void onIdle () override
 отсутствие событий, вызывается периодически
 
void onDisplay () override
 перерисовка кадра
 
void onChar (unsigned char code, int mouse_x, int mouse_y) override
 
void onSpecialKey (int code, int mouse_x, int mouse_y) override
 стрелки изменяют направление движения змеи
 
void onMouse (int button, int mouse_x, int mouse_y) override
 нажатие кнопки мыши Подробнее...
 
- Защищенные члены inherited from AScreen
virtual void onDeselect ()
 вызывается при выборе другого экрана, если этот экран был активным
 
virtual void onDisplayBefore ()
 действие, выполняемое перед отрисовкой кадра
 
virtual void onDisplayAfter ()
 действие, выполняемое после отрисовки кадра
 
virtual void onReshape (int width, int height)
 изменение размеров окна извне Подробнее...
 
virtual void onPosition (int x, int y)
 перемещение окна (не реализовано в FreeGLUT 2.8) Подробнее...
 
virtual void onVisibility (bool visible)
 изменение видимости окна (присутствует на экране, не присутствует на экране) Подробнее...
 
virtual void onCharUp (unsigned char code, int mouse_x, int mouse_y)
 отпускание зажатой клавиши (код клавиши преобразуется в соответствующий ASCII-код) Подробнее...
 
virtual void onSpecialKeyUp (int code, int mouse_x, int mouse_y)
 отпускание зажатой специальной клавиши Подробнее...
 
virtual void onEntry (bool entered)
 вход/выход мыши в окно Подробнее...
 
virtual void onHover (int mouse_x, int mouse_y)
 движение мыши с отпущенными кнопками Подробнее...
 
virtual void onDrag (int mouse_x, int mouse_y)
 движение мыши с зажатыми кнопками Подробнее...
 
virtual void onMouseUp (int button, int mouse_x, int mouse_y)
 отпускание кнопки мыши Подробнее...
 
virtual void onMouseWheel (int wheel_number, int direction, int mouse_x, int mouse_y)
 прокручивание колеса мыши Подробнее...
 

Закрытые данные

class Gameimpl
 
GameOverHandler doGameOver
 

Additional Inherited Members

- Открытые статические члены inherited from AScreen
static bool has_active ()
 узнать выбран ли какой-либо объект AScreen в качестве активного
 
static AScreenget_active ()
 получить ссылку на текущий активный экран
 

Подробное описание

экран игры

Методы

void GameScreen::onChar ( unsigned char  code,
int  mouse_x,
int  mouse_y 
)
overrideprotectedvirtual
  • W, A, S, D – движение (вверх, влево, вниз и вправо),
  • SPACE/ENTER продолжить/пауза,
  • ESC прекратить игру.

Переопределяет метод предка AScreen.

Переопределяется в HallOfFameScreen.

Граф вызовов:

void GameScreen::onMouse ( int  button,
int  mouse_x,
int  mouse_y 
)
overrideprotectedvirtual

нажатие кнопки мыши

Координаты мыши отсчитываются от верхнего левого угла окна (не области рисования, без учёта заголовка?) вправо по горизонтали (x) и вниз по вертикали (y).

Аргументы
codeкод (GLUT_LEFT_BUTTON, GLUT_RIGHT_BUTTON или GLUT_MIDDLE_BUTTON) нажатой кнопки
mouse_xx-координата мыши в окне в момент нажатия
mouse_yy-координата мыши в окне в момент нажатия

Переопределяет метод предка AScreen.

Граф вызовов:


Объявления и описания членов классов находятся в файлах: