DirectX message-loop
-
hallo ihr lieben :),
ich habe ein kleines problem mit meinem message-loop. ich übergebe meinen WPARAM an den teil des programms , den ich gerade steuern moechte , dazu benutze ich diese enum :
enum EGamemode { PLAYMODE, CONSOLEMODE, PAUSEMODE };
und dann sage ich im main loop :
LRESULT TestApp::MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_KEYDOWN: switch (GameState) { case CONSOLEMODE: SystemCls->HandleKeyInput(wParam, GameState); break; case PLAYMODE: HandleKeyInput(wParam); break; } return 0; } return DefWindowProc(hwnd, msg, wParam, lParam); };
allerdings scheint das programm egal welcher GameState gerade ist die funktion HandleKeyInput aufzurufen.
worn liegt das?schomal danke und liebe grüße,
whiletruedo
-
switch (GameState) { case CONSOLEMODE: SystemCls->HandleKeyInput(wParam, GameState); break; case PLAYMODE: HandleKeyInput(wParam); break; } return 0;
Müsstest du GameState nicht aus dem wParam nehmen? Sieht so aus, als ob du das aus einer globalen Variable nimmst? Was sagt denn der Debugger?
-
du hattest recht. vielen dank jetzt läuft es