Hallo!
Ich habe ein Problem und komme nicht darauf was falsch sein soll.
Ich habe einen Spieler an den Koordinaten (Posx|Posy).
Dann habe ich den Cursor an den Koordinaten (PointX|PointY).
Nun möchte ich den Spieler zum Mauszeiger Rotieren. Dazu gibt es die Flieskommazahl rot vom Spieler, welche eine Angabe der Rotation in Grad sein soll.
Nach oben gedreht beträgt die Rotation ja genau 0°.
Also habe ich mir gedacht dass ich einfach 2 Vektoren Bilde (einen entlang dieser 0°-Linie mit (0|-1) und den anderen zwischen dem Spieler und dem Cursor) und dann einfach den Winkel zwischen den beiden Errechne.
Der entsprechende Java-Code sieht so aus:
Quelltext
1:
| rot=Math.acos(((-1)*(PointY-Posy))/(Math.sqrt(Math.pow(PointX-Posx,2)+Math.pow(PointY-Posy,2)))); |
Jedoch bekomme ich leider nicht das gewünschte Ergebnis. (rot ist 1.5 an Stellen wo es 45.0 sein sollte usw.).
Also muss ich ja was falsch gemacht haben.
Könnt ihr vl. den Fehler finden?
Gruß Teekeks