Einzelnen Beitrag anzeigen

benst

Registriert seit: 20. Jun 2004
155 Beiträge
 
Delphi 5 Standard
 
#9

Re: Kreisförmige Bewegung eines Objektes

  Alt 12. Sep 2006, 19:09
@TStringlist: Jetzt war ich auch gerade fertig mit meinem Vorschlag, aber du warst schneller

Man kann noch den Radius und die Drehrichtung einbeziehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  XR := 40;
  YR := 40;
  X0 := Label1.left - XR;
  Y0 := Label1.top;
  Grad := 0;
  Richtung := 1 //1 = mathematische pos. Drehsinn (gegen Uhrzeigersinn), -1 = entsprechend anders herum
  Timer1.Enabled := true
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(Grad,2);
  Label1.left := X0 + round (cos(2*Pi/360 * Grad) * XR);
  Label1.Top := Y0 - round (sin(2*Pi/360 * Richtung * Grad) * YR);
  if Grad = 360 then Timer1.Enabled := false
end;
... wenn man XR und YR unterschliedlich groß macht, entsteht eine Ellipse.
  Mit Zitat antworten Zitat