Ich habe dieses Problem jetzt seit über 2 Tagen. Ständig optimieren. Ich kann es einfach nicht schaffen.Drehen Sie Player mit libgdx Touchpad, um in die Bewegungsrichtung zu sehen
Ich habe eine Player-Textur (Player ist auf der linken Seite), die ich mit dem Touchpad drehen möchte. So wird der Spieler seiner Laufrichtung gegenüberstehen.
Bisher habe ich dies:
double facerotation = Math.atan2(touchpad.getKnobPercentY(), touchpad.getKnobPercentX());
spriteBatch.draw(runningFrame, player.getPosition().x, player.getPosition().y, Player.getSize()/2, Player.getSize()/2, Player.getSize(), Player.getSize(), 1, 1, facerotation * 100, false);
Aber mit „roation * 100“ er wie 2 mal dreht sich um und ohne dreht er kaum. Ich habe sogar versucht, die X- und Y-Werte für die atan2-Funktion oben zu ändern. Aber ich habe ihn nie nur in die Richtung drehen lassen, in die ich mich bewege. Ich habe auch die Atan-Funktion ausprobiert, auch mit dem Austausch der X- und Y-Werte.
Bitte helfen Sie mir. Ich habe Tausende von Möglichkeiten versucht, verschiedene Berechnungen und Dinge, die ich bei Google sah. Nichts brachte mir die gewünschte Wirkung.
Vielen Dank so so so sehr! Endlich. So eine einfache Sache. ! – MarvinJ
Funktioniert gut, außer in meinem Fall kehrt das Sprite in seinen ursprünglichen Winkel zurück, wenn das Touchpad losgelassen wird. Gibt es eine Möglichkeit, den Winkel danach zu behalten? – mikebrsv
Gelöst! Wrapped 'runningFrame.setRotation (angle);' in der 'if (touchpad.isTouched())' Anweisung. – mikebrsv