Autor Beitrag
knittel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 71
Erhaltene Danke: 2

Win XP, Win7, openSUSE
Delphi 7
BeitragVerfasst: Mi 01.12.10 13:11 
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:
ausblenden 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."
Oliver Marx
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 80
Erhaltene Danke: 18

Win 7 Prof.
Delphi XE Prof.
BeitragVerfasst: Mi 01.12.10 14:48 
Hi,

hab leider kein Delphi momentan, aber suche einmal nach der Funktion GetAsyncKeyState.

Viele Grüße

Oliver

Für diesen Beitrag haben gedankt: knittel
knittel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 71
Erhaltene Danke: 2

Win XP, Win7, openSUSE
Delphi 7
BeitragVerfasst: Mi 01.12.10 18:08 
OK. Danke, Ich probiers mal aus.

_________________
"Wir können nicht fliehen!" "Wieso nicht?" "Sie haben mir die Schnürsenkel zusammengebunden!" "Die Schweine."