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

Подсказка

Идентификаторы, которые программа получает во входном буфере, различаются для клавиатур, мышей и джойстиков. Список идентификаторов клавиатуры можно найти в документации по DirectX в разделе «Keyboard Device Enumerated Туре». Список идентификаторов мыши находится в разделе «Mouse Device Enumerated Туре», а идентификаторов джойстика - в разделе «Joystick Device Constants».

Единственное, на что еще стоит обратить внимание - то, что устройства ввода часто теряются, если игрок нажимает Alt+Tab для переключения в другую программу. Вы можете обнаружить, что игра выполняется эффективнее, если она пытается вновь получить доступ к устройствам ввода каждый раз, когда игрок опять переключается на нее. В листинге 14.20 приведена версия метода HandleMessage () класса игры, который восстанавливает доступ к клавиатуре и мыши при реактивации игры.

Завершение работы с Directlnput

Прежде, чем завершить выполнение программы игры, нужно освободить все созданные в ней интерфейсы Directlnput. Это делается в методе GameCleanup (). Вам не придется освобождать интерфейсы клавиатуры и мыши — платформа делает это автоматически.

Перемещение камеры в DirectX

Последняя тема, которую нужно рассмотреть, прежде чем мы приступим к написанию похожих на игры программ, - это перемещение камеры, то есть точки, из которой игрок видит ЗБ-сцену. В DirectX оно реализуется довольно просто. Собственно говоря, вы уже знаете, как это делается. Взгляните на листинг 14.21.



Новости
Косплей Сенуя из Hellblade: Senua’s Sacrifice
Редакция Геймбокса не могла не поделиться с вами прекрасным отечественным косплеем на Сенуя из Hellblade: Senua's Sacrifice.
Bethesda подала в суд на Warner Bros. за Westworld
Как утверждает издание TMZ, компания Bethesda Softworks подала в суд на кинокомпанию Warner Bros. и студию Behaviour Interactive.