# Dartpfeile schießen



## Eichelhäer (28. Dez 2022)

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:

```
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 (28. Dez 2022)

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 (29. Dez 2022)

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?


----------



## mihe7 (29. Dez 2022)

Eichelhäer hat gesagt.:


> Aber du sagst die berechnung ist grundsätzlich richtig?


"Auf den ersten Blick", d. h. sin für y-Achse, cos für x-Achse und die y-Achse wird noch quadratisch verändert. Was deltaTime ist, weiß ich nicht.


----------

