Ich versuche, eine textureRegion zu drehen, basierend auf box2d Körperwinkel, unter Verwendung der spriteBatcher Verfahren zeichnen:Rotating textureRegion basierend auf Box2D Körperwinkel (ohne Sprite)
SpriteBatch.draw(TextureRegion region, float x, float y, float originX, float originY, float width, float height,float scaleX, float scaleY, float rotation)
jedoch die resultierende Rotation wie diese
siehtIch kann nicht herausfinden, was ich falsch mache, haben viele verschiedene Kombinationen von originX, HerkunftY ausprobiert und es ist immer gebrochen. Versucht, die Ursprünge auf das Zentrum des Körpers, linke untere Ecke und kein Glück zu setzen.
Guckte auf die Dokumentation, analized die SpriteBatch.class, aber es ist unklar für mich, was der Grund ist.
Wie man die Textur richtig dreht?
EDIT: Ich kann nicht Sprite-Klasse verwenden, da die textureRegion, die gezogen wird, ein Animationsrahmen ist und afaik nicht Animationsframes aus Sprite-Klasse
Ich bin Mit diesem Verfahren bereits, wie folgt aus: \t \t shape.setAsBox ((animation.getWidth() - animation.getHorizontalOffset())/200F, \t \t \t \t (animation.getHeight() - animation.getBottomOffset())/200f, neuer Vector2 ((animation.getWidth() - animation.get HorizontalOffset())/200f, (animation.getHeight() - animation.getBottomOffset())/200f), 0); aber das Hinzufügen der 2 Parameter, die Sie erwähnt, macht die Box verrückt – Zerg
machen zunächst einfache Berechnung, so entfernen Sie Offset und überprüfen Sie das Ergebnis. – Aryan
Offset sollte mit 2 multipliziert – Aryan