Nein...
So war das nicht gemeint. laso:
GetAsyncKeystate liefert dir in DEM MOMENT wo du es abfragst, ob gerade in diesem Moment die Taste gedrückt ist. Dann brauchst du also keinen Timer mehr für die Bewegung, sondern nur einen Timer in dem du mit GetAsyncKeystate abfragst, ob grad die nach-links-taste gedrückt ist oder nicht.
Um flori-da noch einmal zu zitieren:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if GetAsnycKeyState(vk_left)<0 then
Player.MoveLeft;
if GetAsyncKeyState(vk_right)<0 then
Player.MoveRight
...
end;
Das kommt in einen Timer, der ständig mit einem Interval von ca. 200 ms aktiv ist. Der überprüft dann alle 200 ms ob gerade die nach links taste oder die nach rehctsteste gedrückt ist und macht dann dies und jenes