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.
"Wir können nicht fliehen!" "Wieso nicht?" "Sie haben mir die Schnürsenkel zusammengebunden!" "Die Schweine."