Конгер Д.
Физика для разработчиков компьютерных игр
стр. 49

игра обрабатывает сообщение, то функция HandleMessage () должна возвращать значение TRUE, если нет - FALSE. Если сообщение не обработано, оно будет обрабатываться функцией MsgProc().

Подсказка

За дополнительной информацией обращайтесь к теме «Window Messages» в документации к SDK для платформы Windows.

В данной версии функция MsgProc () обрабатывает только одно сообщение — WM_DESTROY. Если она получает это сообщение, то вызывает функцию GameCleanup () в строке 13. Функцию GameCleanupО тоже должна предоставлять ва^а игра. Затем функция MsgProc () вызывает функцию платформы CleanupD3D (), которая освобождает задействованные ресурсы Direct3D.

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

ОБНОВЛЕНИЕ И ПРОРИСОВКА КАДРОВ

Чтобы действительно нарисовать что-то на экране, игра должна предоставлять две функции. Первая из этих функций - UpdateFrame (). В этой функции с помощью Direct3D выполняются все операции, которые нужно выполнить, прежде чем прорисовывать очередной кадр анимации. Именно в ней и будет работать вся физика, которую мы будем изучать в последующих главах.

Вторая функция, которую должна предоставить ваша игра, - Ren-derFrame(). Эта функция будет непосредственно рисовать кадр.

Замечание

Вашей игре не нужно вызывать функции Direct3D BeginScene () и EndSce-ne (). Платформа сделает это за вас. Все, что нужно сделать вам, - прорисовать нужную вам геометрию. Обычно это значит, что нужно прорисовать содержимое вершинного буфера.

ОЧИСТКА

Как говорилось выше, при получении сообщения WM_DESTROY платформа вызывает функцию GameCleanup (). Эту функцию должна предоставлять ваша игра. После завершения ее выполнения платформа вызовет функцию Cleanup3D (), код которой приведен в листинге 2.6.

Функция Cleanup3D() освобождает объекты DirectX, созданные платформой. Как уже упоминалось выше, эти объекты освобождаются в последовательности, обратной последовательности их создания.



Новости
Аниме-трейлер Heroes of the Storm посвящён механическим обликам героев
Blizzard выпустила обещанные вместе с появлением в Heroes of the Storm огнемётчика Блэйза новые легендарные механизированные облики нескольких героев: Тираэля, Регара, Абатура и Дехаки.
45-минутная запись геймплея Metal Gear Survive
Японское подразделение IGN представило публике 45-минутную запись геймплея Metal Gear Survive – последней части знаменитой серии, а также первой, в создании которой не принимал участие Хидео Кодзима.