Hi, ich habe nach Vorbild der Wormhunter Demo das ding etwas umgebaut....
Delphi-Quellcode:
procedure TEinheit.Gehen(P: TPoint);
begin
SetDir(round(ArcTan((Y - P.Y) / (X - P.X))));
end;
procedure TEinheit.SetDir(ADirection: Integer);
var
w:integer;
begin
//Reset the speed variables
FYSpeed := 0;
FXSpeed := 0;
w := ADirection;
ShowMessage(IntToStr(w));
//Set the X and the Y speed
FXSpeed := round(cos(PI/180*w)*Speed);
ShowMessage(IntToStr(FXSpeed));
FYSpeed := round(sin(PI/180*w)*Speed);
ShowMessage(IntToStr(FYSpeed));
AnimLoop := true;
AnimActive := true;
end;
Mit den ShowMessages zeige ich mir Testweise an, ob es vernünftige Werte sind, und das sind sie.
Weiters: Ich habe in der Schule noch nichts über sinus cosinus tangens oder arctangens oder sonst was in der Richtung gelernt, und habe mir die Funktionen aus verschiedenen Codes zusammengebastelt....
Fazit: Die Figur geht erstmal(Die Animationsrichtung leg ich fest, wenn das mal klappt), allerdings bewegt sich der Sprite nicht vom Fleck.... weiß jemand warum
mfG