Готовый перевод Game Programming Patterns / Паттерны программирования в играх: 4.2 Event Queue

Цель

Отделить процесс отправки события или сообщения от процесса его обработки.

Мотивация

Чтобы обновить вашу память, давайте рассмотрим пару общих проявлений шаблона.

Событийный цикл графического интерфейса

Если Вы когда-либо программировали пользовательский интерфейс, то уже хорошо знакомы с событиями.

Каждый раз, когда пользователь взаимодействует с Вашей программой — нажимает кнопку, вытягивает меню или нажимает клавишу — операционная система генерирует событие.

Она вбрасывает его как объект в Вашу программу и Ваша задача его подхватить и реализовать какое-то интересное поведение.

Этот подход настолько распространён, что считается парадигмой: событийно-ориентированное программирование.

Приблизительно это выглядит как:

while (running)

{

Event event = getNextEvent();

// Ловим событие...

}

Кроме того, любая игровая система может получать события из очереди.

Вместо этого давайте добавим звук в нашу игру.

Переведено на Нотабеноиде
http://notabenoid.org/book/51192/215227

Переводчики: kabanov, adm244, Deo, p_zombie

Настройки

Готово:

3.25% КП = 1.0

Непереведённые фрагменты будут пропущены.