Tasten entprellen?
-
Hiho!
Ich habe da ein Problem mit nem Jump n Run an dem ich gerade arbeite. Ich kann die Figur schon bewegen allerding gibt es da ein Problem.
Wenn ich z.B. auf D drücke, um mich nach Rechts zu bewegen, fängt die Figur nach einiger Zeit an zu stottern, da die Taste vom Betriebsystem öfters pro Sekunde virtuell heruntergedrückt und losgelassen zu werden scheint.
Ich denke das hängt mit der Tastenanschlagwiederholung von Windows zusammen. Gibt es eine möglichkeit diese zu umgehen und eine Taste auf ihren "wirklichen" Zustand abzufragen, sprich ob sie gerade gedrückt ist oder nicht?Hier etwas Code:
case WM_KEYDOWN: switch(wParam) { case 'A': Mario.Bewegen(-80*iFPS/1000); Mario.DrawFigur(hdc); break; case 'D': Mario.Bewegen(+80*iFPS/1000); Mario.DrawFigur(hdc); break; } break; case WM_KEYUP: switch(wParam) { case 'A': Mario.Anhalten(); break; case 'D': Mario.Anhalten(); break; } break;
-
vielleicht hilft dir das: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getasynckeystate.asp
-
Wenn WM_KEYDOWN kommt, ist die Taste unten. Solange bis WM_KEYUP kommt. Also ist odch alles klar.
Mit entprellen hat das ja wohl nichts zu tun.
Bye, TGGC (You don't get it and never will)
-
Danke, funktioniert wunderbar.

-
np
Bye, TGGC (You don't get it and never will)
-
Ich meinte eigentlich das mit dem Asynckeystate, aber trotzdem thx für die Mühe
