Готовый перевод Game Programming Patterns / Паттерны программирования в играх: 4.2 Event Queue
Цель
Отделить процесс отправки события или сообщения от процесса его обработки.
Мотивация
Чтобы обновить вашу память, давайте рассмотрим пару общих проявлений шаблона.
Событийный цикл графического интерфейса
Если Вы когда-либо программировали пользовательский интерфейс, то уже хорошо знакомы с событиями.
Каждый раз, когда пользователь взаимодействует с Вашей программой — нажимает кнопку, вытягивает меню или нажимает клавишу — операционная система генерирует событие.
Она вбрасывает его как объект в Вашу программу и Ваша задача его подхватить и реализовать какое-то интересное поведение.
Этот подход настолько распространён, что считается парадигмой: событийно-ориентированное программирование.
Приблизительно это выглядит как:
while (running)
{
Event event = getNextEvent();
// Ловим событие...
}
Кроме того, любая игровая система может получать события из очереди.
Вместо этого давайте добавим звук в нашу игру.
Переведено на Нотабеноиде
http://notabenoid.org/book/51192/215227
Переводчики: kabanov, adm244, Deo, p_zombie
Настройки
Готово:
