Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Vektordistanz Fadenkreuz zu Spieler (2D) berechnen

  Alt 13. Aug 2011, 00:19
Delphi-Quellcode:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  e1, e2, x1, y1, x2, y2, xR, yR, R, S: double;
begin
  R:= 50; // Turm
  x1:= 100;
  y1:= 100;

  x2:= x; // "Monster"
  y2:= y;

  S:= Sqrt (Sqr(x2-x1) + Sqr(y2-y1));
  e1:= (x2 - x1) / S; // cos
  e2:= (y2 - y1) / S; // sin

  xR:= x1 + R*e1;
  yR:= y1 + R*e2;

  Canvas.MoveTo(Round(x1), Round(y1));
  Canvas.LineTo(Round(xR), Round(yR));

  Caption:= IntToStr(Round(xR))+' '+IntToStr(Round(yR));
end;
  Mit Zitat antworten Zitat