Problem bei Tastatur eingabe



  • Hi

    ich arbeite mit GetAsyncKeyState um meine Tasten abzufragen.(Bis auf die escape taste, damit ich net noch ne variable global für alle datein definerin muss^^)

    bloß immer wenn ich z.B. pfeil nach rechts drücke, stürzt das proggy ab. wenn ich VK_RIGHT in der WM_KEYDOWN bearbeite is das net. das ist doof^^.

    hier ma mein messageloop:

    LONG FAR WINAPI WndProc (HWND hwnd , UINT message , 
                             UINT wParam , LONG lParam) 
    { 
    	switch (message)
    	{
    		case WM_KEYDOWN:
    		{
    			switch (wParam)
    			{
    			case VK_ESCAPE:
                    {
                        running = false;
        				return 0;
                    };
                    break;
    
      			}
    		}
    		case WM_DESTROY:
    		{
    
    			PostQuitMessage (0) ; 
    			return 0 ;
    		} break;
    	} // switch (message)
    	return DefWindowProc (hwnd , message , wParam , lParam) ;
    } // WndProc
    

    und hier der code wo ich die pfeiltasten abfragen:

    if( GetAsyncKeyState(VK_LEFT) < 0) 
         {
             MainPlayer.Move("Left");
         }
         if( GetAsyncKeyState(VK_RIGHT) < 0) 
         {
             MainPlayer.Move("Right");
         }
         if( GetAsyncKeyState(VK_UP) < 0) 
         {
             MainPlayer.Move("Up");
         }
         if( GetAsyncKeyState(VK_DOWN) < 0) 
         {
             MainPlayer.Move("Up");
         }
    

    keien angst, die funktionen funezen alle. wenn ich das zweite über WM_KEYDOWN abfrage funzt alles super. ich hab aber gehört, das man für eine spielsteuerung leiber getasynkeystate nehmen sollte. habt ihr da ne idee? weil es is doof, wenn man mit dem drücken eienr steuerungstaste das game beenden xD^^.

    MfG
    Eldarion

    edit: prob gefunden, ich hab ein break vergessen ^^


Anmelden zum Antworten