Delphi-Quellcode:
type
TRichtung = 1..4;
var
Richtung: TRichtung;
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True; //Formular bekommt alle Tastaturanschläge mit
Timer1.Interval := 100; // 1/10 Sekunde
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
const
Interval = 10;
begin
case Richtung of
1: Image1.Left := Image1.Left + Interval;
2: Image1.Top := Image1.Top + Interval;
3: Image1.Left := Image1.Left - Interval;
4: Image1.Top := Image1.Top - Interval;
end;
//Damit es nicht aus dem Formular verschwindet
if Image1.Left > ClientWidth then
Image1.Left := 0;
if Image1.Left < 0 then
Image1.Left := ClientWidth;
if Image1.Top > ClientHeight then
Image1.Top := 0;
if Image1.Top < 0 then
Image1.Top := ClientHeight;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_RIGHT: Richtung := 1;
VK_DOWN : Richtung := 2;
VK_LEFT : Richtung := 3;
VK_UP : Richtung := 4;
end;
end;
Den Rest musst du alleine machen.