S
Shadowlauch
Gast
Ich hoffe ich kann mein Problem gut genug beschreiben, habe schon an dem Titel 3 Jahre überlegt und es ist sowas dabei rausgekommen.
Erstmal danke schonmal und Hallo (bin das erste mal hier aber bestimmt nicht das letzte mal)
Ich habe mich vor einigen Tagen an die Arbeit gemacht und ein bisschen rumprobiert ein Spiel zu entwickeln, nicht um jmd zu unterhalten eher um Erfahung zu sammeln usw.
Um einfach anzufangen (dachte ich mir) wollte ich ein Spacespiel in der Form von SPAZ machen (Sicht von oben 2D). Das Schiff (welches zentriert in der Mitte ist) richtet sich nach der Maus aus.
Beim Maus ausrichten liegt das Problem bzw. beim langsamen ausrichten, denn damit es nicht total "unrealistisch" wird passt sich das Schiff nicht direkt dem Winkel zur Maus an sondern verkleinert in langsam, sprich das Schiff dreht sich langsam zur Maus. Das Problem dabei ist, dass die Zahlen von -90 bis 270 gehen und er mit meiner Berechnung immer den Weg "oben rum nimmt"
Hier ein Video zur Veranschaulichung: Java Slick 2d Rotate Problem - YouTube
owner.getRotation() -> holt die jetzige Rotation des Schiffes
erg -> ist der Winkel zur Maus (wird direkt vorher berechnet)
owner.setRotation() -> setzt die Rotation des Schiffes
rotspeed -> Variable die gesetzt wird um die Geschwindigkeit bei der rotation zu verändern
delta -> Zeit zwischen Frames
Ich habe vieles ausprobiert aber kein Ansatz brachte ein gutes Ergebnis und ich drehe langsam durch.
Versteht mich nicht falsch ihr sollt mir keinen Code schreiben aber vielleicht habt ihr eine Idee denn meine gehen mir aus.
Vielen Dank nochmal.
Gruß, Lars
Erstmal danke schonmal und Hallo (bin das erste mal hier aber bestimmt nicht das letzte mal)
Ich habe mich vor einigen Tagen an die Arbeit gemacht und ein bisschen rumprobiert ein Spiel zu entwickeln, nicht um jmd zu unterhalten eher um Erfahung zu sammeln usw.
Um einfach anzufangen (dachte ich mir) wollte ich ein Spacespiel in der Form von SPAZ machen (Sicht von oben 2D). Das Schiff (welches zentriert in der Mitte ist) richtet sich nach der Maus aus.
Beim Maus ausrichten liegt das Problem bzw. beim langsamen ausrichten, denn damit es nicht total "unrealistisch" wird passt sich das Schiff nicht direkt dem Winkel zur Maus an sondern verkleinert in langsam, sprich das Schiff dreht sich langsam zur Maus. Das Problem dabei ist, dass die Zahlen von -90 bis 270 gehen und er mit meiner Berechnung immer den Weg "oben rum nimmt"
Hier ein Video zur Veranschaulichung: Java Slick 2d Rotate Problem - YouTube
Java:
double dif = 0;
double oldrot = owner.getRotation();
dif = oldrot - erg;
float z=0;
if(Math.abs(dif)<.5f){
owner.setRotation((float) erg);
z=(float) erg;
}
else{
z=(float) (oldrot - dif/(rotspeed/delta));
owner.setRotation(z);
}
owner.getRotation() -> holt die jetzige Rotation des Schiffes
erg -> ist der Winkel zur Maus (wird direkt vorher berechnet)
owner.setRotation() -> setzt die Rotation des Schiffes
rotspeed -> Variable die gesetzt wird um die Geschwindigkeit bei der rotation zu verändern
delta -> Zeit zwischen Frames
Ich habe vieles ausprobiert aber kein Ansatz brachte ein gutes Ergebnis und ich drehe langsam durch.
Versteht mich nicht falsch ihr sollt mir keinen Code schreiben aber vielleicht habt ihr eine Idee denn meine gehen mir aus.
Vielen Dank nochmal.
Gruß, Lars