Ich hab jetzt 2 Timer eingebaut. Also zumindestens bewegt sich die Figur!
Aber ohne das ich eine Taste drücke und nur nach rechts.
Ich hab auch das Intervall des Timers auf 200 gestellt , damit es flüssig wirkt und dafür die Schrittgröße verkleinert.
(Schrittgröße = Pixelzahl die das bild bei der procedure walk verschoben wird)
also hier ist der neue Quelltext, der mir neue rätsel aufweißt.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
walk(1);
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
walk(3)
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if GetAsyncKeyState(vk_left)<0 then
Timer1.Enabled:=true;
if GetAsyncKeyState(vk_right)<0 then
Timer2.enabled:=true;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if GetAsyncKeyState(vk_left)<0 then
Timer1.Enabled:=false;
if GetAsyncKeyState(vk_right)<0 then
Timer2.Enabled:=false;
end;
bei der gelegenheit könnte mir vllt auch jemand erklären, was die function getasynckeystate bewirkt.
das raffe ich nicht so ganz?
aber schon mal danke für euere unterstützung
grüße der flo