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

вы создаете диалоговое окно или всплывающее окно сообщения, передайте в этом параметре дескриптор родительского окна. Для основного окна игры или полноэкранного окна нужно передавать значение, возвращаемое функцией Win32 GetDesktopWindow().

Если в окне используется меню, передайте дескриптор соответствующего ресурса в качестве значения следующего параметра функции CreateWindow (). Если меню не используется (как в большинстве игр), передайте значение NOLL, как в строке 11 листинга С.З.

Если вы разрабатываете игру для версий Windows, предшествовавших Windows NT, нужно передать функции CreateWindow () дескриптор из структуры, которую программа передавала функции RegisterClas-sEx(), как показано в строке 12 листинга С.З. Если ваша игра предназначена для запуска под Windows NT, Windows 2000 или Windows ХР, этому параметру можно присвоить значение NULL.

Последний параметр функции CreateWindow () используется для передачи информации процедуре обработки сообщений при обработке сообщения WM_CREATE (мы вскоре рассмотрим эту процедуру). В большинстве игр этому параметру присваивается значение NULL.

Отображение окна

При успешном выполнении функция CreateWindow () возвращает дескриптор созданного окна. Этот дескриптор позволяет игре отображать окно, например:

ShowWindow(hWnd, SW_SHOWDEFAULT);

UpdateWindow(hWnd);

Вызов первой из этих функций отображает окно на экране, а вызов второй посылает окну сообщение о необходимости обновить его содержимое.

Обратите внимание на второй аргумент функции ShowWindow () - это константа SW_SHOWDEFAULT. Она сообщает функции, что окно нужно вывести в его состоянии по умолчанию. Состоянием по умолчанию может быть развернутое на весь экран окно, окно в обычном режиме и окно, свернутое в панели задач. Кроме SW_SHOWDEFAULT часто также используются константы SW_SHOWNORMAL и SW_SHOWMAXIMIZED.

Обработка сообщений Windows

Windows реагирует на сообщения вроде нажатий на клавиши мыши, посылая сообщения вашей программе. Программа должна предоставлять возможность обработки этих сообщений. Обработка выполняется в цикле обработки сообщений (message processing loop), который иногда называют просто циклом сообщений. В листинге С.4 приведен цикл сообщений, используемый в платформе физического моделирования.



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