kleine ergänzung:
Aim wird so gesetzt:
Delphi-Quellcode:
procedure TEinheit.Gehen(P: TPoint);
begin
FYSpeed := 0;
FXSpeed := 0;
Aim := p;
p.X := p.X - round(X);
p.Y := p.Y - round(Y);
FXSpeed := Speed * p.X / sqrt(p.X * p.X + p.Y * p.Y);
FYSpeed := Speed * p.Y / sqrt(p.X * p.X + p.Y * p.Y);
AnimLoop := true;
AnimActive := true;
SetLength(Form2.men, Length(Form2.men)+1);
Form2.men[Length(Form2.men)-1] := TEinheit.Create(Form2.AdSpriteEngine2);
end;
und zu gehen komm ich so, in der MouseDown procedure:
Delphi-Quellcode:
if (Button = mbRight) then
begin
if Length(men) > 0 then
begin
for i := 0 to Length(men)-1 do
begin
if men[i].angeklickt then
begin
men[i].Gehen(P);
end;
end;
end;
end;