Schiff in Richtung der Maus rotieren - Problem :/

Status
Nicht offen für weitere Antworten.

Schnitter

Bekanntes Mitglied
hoi ;)

Ich versuche gerade mittels LWJGL/OpenGL mein Sprite immer in die Richung der Maus zu rotieren.
Ich mach' das mit ner simplen Tangens-Berechnung, die ich der Einfachkeit halber mal sehr ausführlich geschrieben habe:
Code:
		double tan = 
			(Mouse.getY() > pos.y ? Mouse.getY()-pos.y : pos.y-Mouse.getY()) / 
			(Mouse.getX() > pos.x ? Mouse.getX()-pos.x : pos.x-Mouse.getX());
			
		double angle = Math.atan(tan);		//Alpha in Radian
		float deg    = (float)Math.toDegrees(angle); //Alpha in Grad
		this.angle = deg;

Ich seh' soweit eigentlich keinen Fehler in meiner Berechnung - bekomme aber trotzdem manchmal eine NullPointerException.(Mal ganz davon abgesehen, dass sich das Schiff ganz und garnicht in die Richtung der Maus dreht^^)

Und ich bin jetzt hier, um euch zu fragen, warum :/

Hab' ich etwa etwas übersehen? Oder mach ich von Anfang an alles falsch?

Hoffe, jemand weiß eine Antwort ;)




MfG
 

Marco13

Top Contributor
Bei einer NullPointerException an dieser Stelle muss pos null sein. (!?!)

Ansonsten ist das erstmal nicht per se "falch". Könntest auch atan2 verwenden, dann wird vielleicht einiges einfacher...
 

Schnitter

Bekanntes Mitglied
Juhu! atan2() ist genial :)

Code mal jetzt:

Code:
		double angle = Math.atan2(Mouse.getX()-pos.x, Mouse.getY()-pos.y);
		float deg    = (float)Math.toDegrees(angle); //Alpha in Grad
		this.angle   = -deg;
 

Schnitter

Bekanntes Mitglied
Es funktioniert jetzt ;)

Vor der Verwendung von atan2() hat sich das Schiff nur dann mit der Maus gedreht, wenn die Maus entweder links oben oder rechts unten war. Bei den anderen Seiten hat es sich immer entgegengesetzt gedreht.

Hat sich aber erledigt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Schüsse in Richtung der Maus Spiele- und Multimedia-Programmierung 5
L Bild in Richtung Maus drehen Spiele- und Multimedia-Programmierung 4
U2nt Pingpong: Richtung/Winkel Spiele- und Multimedia-Programmierung 3
V Jogl: Objekt trotz Rotation immer in gleiche Richtung bewegen Spiele- und Multimedia-Programmierung 5
StrikeTom Auto in bestimmte Richtung fahren lassen Spiele- und Multimedia-Programmierung 37
R Raumschiff in die Richtung fliegen in die es schaut ? Spiele- und Multimedia-Programmierung 14
H Mausbewegungen wie eine echte Maus in 3 dimensionalen Spielen Spiele- und Multimedia-Programmierung 12
B GLFW 3D Maus- Input Spiele- und Multimedia-Programmierung 7
Arif Maus-Objekt im Player Klasse implementieren !? Spiele- und Multimedia-Programmierung 2
B Maus Cursor aus/einblenden bei Unity 3d mit .js Spiele- und Multimedia-Programmierung 1
M [JOGL] Maus über einem gezeichnetem Objekt abfragen? Spiele- und Multimedia-Programmierung 5
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
M Maus an Fedenkreuz heften Spiele- und Multimedia-Programmierung 16
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
D Sprite zur Maus bewegen Spiele- und Multimedia-Programmierung 9
G Maus springt --> Free-Hand-Zeichnen Spiele- und Multimedia-Programmierung 2
G Zeichnung mit der Maus bewegen Spiele- und Multimedia-Programmierung 3
M Grafikprogramm, zeichnen mit Maus Spiele- und Multimedia-Programmierung 7
S Problem bei Kartenbewegung mit Maus! Spiele- und Multimedia-Programmierung 3
M Exakte Position auf Kugel mit Maus picken , Java3d Spiele- und Multimedia-Programmierung 14
D Bilderpositionierung mit Maus Spiele- und Multimedia-Programmierung 23
T Maus-Cursor-Position manipulieren Spiele- und Multimedia-Programmierung 3
K Ein 3D-Objekt mit Maus auswählen Spiele- und Multimedia-Programmierung 5
T Problem mit Maus und Bildschirm Spiele- und Multimedia-Programmierung 3
C NavigationBehaviour mit Maus und Keyboard Spiele- und Multimedia-Programmierung 5
A Maus im Spiel-Menu oder nicht? Spiele- und Multimedia-Programmierung 5

Ähnliche Java Themen

Neue Themen


Oben