Продолжение выполнения даже при отправке WM_ENTERSIZEMOVE в Direct3D 11C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Продолжение выполнения даже при отправке WM_ENTERSIZEMOVE в Direct3D 11

Сообщение Anonymous »

Я разрабатываю игру с помощью Win32 и Direct3D 11, но когда я перемещаю или изменяю размер окна (событие WM_ENTERSIZEMOVE), игра приостанавливает работу:
Изображение

Хотя это нормально в окне, но я хочу, чтобы игрок иметь возможность управлять во время движения, чтобы предотвратить мошенничество, потому что он может неоднократно касаться строки заголовка, из-за чего она постоянно останавливается и становится почти медленной (это проблема, моя игра основана на скорости и реакциях).
Итак, как я могу поддерживать работу игры, даже когда я перемещаю или изменяю размер окна?
Это код в игровом цикле:

Код: Выделить всё

while (msg.message != WM_QUIT) {
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
TranslateMessage(&msg), DispatchMessageW(&msg);

// code of the game (renderering and mechanics)
}
А это WndProc():

Код: Выделить всё

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch(message) {
case WM_CLOSE:
DestroyWindow(hwnd);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProcW(hwnd, message, wParam, lParam);
}
Я просмотрел этот вопрос, но там говорится о Direct2D (а мне нужен Direct3D 11 из SDK DirectX 2010), и я хочу, чтобы код находился вне функции.

Подробнее здесь: https://stackoverflow.com/questions/792 ... irect3d-11
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»