Danke, hat sehr geholfen. Wusste schon, worans liegt. Nämlich an den 360°, nicht 90°.
Jetzt hab ich nur noch ein Problem. Der richtige Winkel wird angezeigt, doch das Bild dreht sich nicht richtig. Hier ist der Code:
Delphi-Quellcode:
if (Aim.x-Player.X <>0) then
begin
Player.Angle := trunc(ArcTan((Aim.y-Player.Y)/(Aim.x-Player.X)) * 180 / pi);
if (Player.Angle<0)and(Aim.x-Player.X<0) then Player.Angle := 180 + Player.Angle
else
if (Aim.x-Player.X<0)and(Aim.y-Player.Y<0) then Player.Angle := 180 + Player.Angle
else
if (Aim.y-Player.y<0) then Player.Angle := 360 + Player.Angle;
end;
Form1.Label2.Caption:=floattostr((Player.Angle-360)*-1);
Player.X := Cos256((Player.Angle-360)*-1)+200;
Player.Y := Sin256((Player.Angle-360)*-1)+200;
Nach dem Label2 das richtige ausgibt,
stimmt nur irgendwas mit den letzten 2 Zeilen nicht.. Vielleicht sieht jemand was