Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Nochmal was mit Winkeln

  Alt 21. Dez 2005, 14:03
So, ich habe nun wieder ein Problem:

Mein Raumschiff soll Laserstrahlen feuern können, diese Funktionieren auch einwandfrei, drehen sich mit dem Raumschiff usw...

Leider starten sie an der Falschen Position, nämlich immer beim x,y Punkt meines Raumschiffes. Sie sollten allerdings direkt aus der Mitte kommen. Problem ist nur das sich mein Raumschiff drehen kann. Wie berechne ich den Punkt an dem meine Laserstrahlen starten sollen?

Ich hatte das so probiert:
Delphi-Quellcode:
  with TLaser.Create(engine) do
  begin
    x := self.x+cos(degtorad(flightangle)*pi/180)*self.width/2;
    y := self.y+sin(degtorad(flightangle)*pi/180)*self.height/2;
  end;
Aber das geht nicht ganz.

Hab mal eine Grafik angehängt um mein Problem zu verdeutlichen.
Miniaturansicht angehängter Grafiken
fehler2_154.jpg  
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat