Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Multiple KeyPress
knittel - Mi 01.12.10 13:11
Titel: Multiple KeyPress
Ich programmiere ein Spiel. Dabei soll man mit W,A,S,D sich über die Karte bewegen. Wenn man auf A drückt nach links, W nach oben, D Nach rechts und S nach unten. Allerdings funktioniert es nicht wenn man mehrere Tasten aufeinmal drückt. Ich will das wenn man nach rechts und unten (als Beispiel) gleichzeitig drückt, das auch schräg gescrollt wird. Wie kann ich das machen?
Mein bisheriger Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var CursorPos: TPoint; begin if (Key = ord('W')) then MapScroller.ScrollToRelativeY(-MapScroller.Speed); if (Key = ord('D')) then MapScroller.ScrollToRelativeX(MapScroller.Speed); if (Key = ord('S')) then MapScroller.ScrollToRelativeY(MapScroller.Speed); if (Key = ord('A')) then MapScroller.ScrollToRelativeX(-MapScroller.Speed); end; |
Mir ist auch klar wo das Problem liegt: Die Variable Key kann nur einen Key representieren. Das Problem ist ich weis nicht wie ich es lösen kann.
Danke im voraus.
Oliver Marx - Mi 01.12.10 14:48
Hi,
hab leider kein Delphi momentan, aber suche einmal nach der Funktion GetAsyncKeyState.
Viele Grüße
Oliver
knittel - Mi 01.12.10 18:08
OK. Danke, Ich probiers mal aus.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!