Dartpfeile schießen

Eichelhäer

Bekanntes Mitglied
Hallo,

ich versuche in einem Fenster einen Dartpfeil auf ziele zu schießen.
Nun habe ich die wurfparabel verwendet und x bzw. y so berechnet:
Java:
        t+=1;
        x = (600*deltaTime) * (Math.cos(Math.toRadians(Math.abs(angle))) * t);
        y = (600*deltaTime) * (Math.sin(Math.toRadians(Math.abs(angle))) * t) - (1/2 * (490.5) * t*t);

Mein angle wird über die Pfeiltasten (Up und Down) jeweils um ein Grad hoch- , runtergezählt und anschließend ins radmaß umgerechnet. Für den Pfeil zeichne ich einfach ein Recteck der Höhe 1.

Wenn ich nun den Pfeil um 45 grad nach oben drehe, fliegt er gerade weg und nicht wie erwartet (ohne wurfparabel) einfach in die richtung in die er schaut.

Wie erreiche ich, dass er in die erwartete Richtung fliegt? (Wind oder Gravitation erstmal außenvor gelassen nur rein die Bewegung in die gewünschte Richtung)

Desweiteren soll sich der Pfeil selbst der Flugbahn anpassen. D.h. wenn er den höchsten Punkt erreicht hat geht das "Hinterteil" hoch und das "Vorderteil" runter entsprechend der Flugbahn.

Danke für Hilfe
 

mihe7

Top Contributor
An Deiner Berechnung hätte ich jetzt auf den ersten Blick nichts auszusetzen. Die y-Achse ist halt positive down, vielleicht passt irgendwas anderes am Code nicht.
 

Eichelhäer

Bekanntes Mitglied
Ok ich habs jetzt doch mit vektoren gemacht. Und es geht. Allerdings hätte mich es so auch interessiert. Ich habe noch wegen der y - Achse ein ( - ) davor geschrieben wegen der richtung. Aber du sagst die berechnung ist grundsätzlich richtig?
 

Ähnliche Java Themen


Oben