Ich hab da mal nen üblen Fehler gemacht: jetzt funkts...
Aufnahme der Ausgangs-, Zielposition in der OnMouseDown...
Delphi-Quellcode:
Schuss[i].XPos := Ship1.XPos;
Schuss[i].YPos := Ship1.YPos;
Schuss[i].XStart := Ship1.XPos;
Schuss[i].YStart := Ship1.YPos;
Schuss[i].XZiel := x;
Schuss[i].YZiel := y;
// Berechnet Steigung (Steigung : real)
Schuss[i].Steigung := (Schuss[i].YZiel-Ship1.YPos) / (Schuss[i].XZiel-Ship1.XPos);
Timer: Flugbahn darstellen (lineare Fkt.: y=mx+c)
Delphi-Quellcode:
Schuss[i].XPos := Schuss[i].XPos + 1; //Nur wenn Ziel rechts des Raumschiffs ist
Schuss[i].YPos := round(Schuss[i].Steigung*(Schuss[i].XPos-Schuss[i].XStart) + Schuss[i].YStart);
mfg
devnull