Danke für die ganze Hilfe, aber da ich noch nicht so fortgeschritten bin, hbae ich mir einfach mal das oben genommen
es läuft auch perfekt, ausser dass mein männchen weiterläuft (also die animation) wenn ich nichts mehr drücke xD Kann ich das noch irgendwie beheben?
Den Timer2.Enabled immer auf FALSE lassen. Ausser:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
40:
moveY := moveY+5;// runter
38:
movey := moveY-5;// hoch
37:
movex := moveX-5;// links
39:
movex := moveX+5;// rechts
end;
if (Key >= 37) and (Key <= 40) then
Timer2.Enabled := TRUE;
Char;
end;
Dazu machst du noch ein OnKeyUp-Event:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key >= 37) and (Key <= 40) then
begin
Timer2.Enabled := FALSE;
Player.Picture.LoadFromFile('.\Graphiken\Charanimation0.ico');
end;
end;
Nun wird die Gehanimation nur solange ausgeführt, wie eine der Richtungstasten gedrückt wird. Andernfalls wird der Timer2 deaktiviert und die Charanimation0.ico geladen.