我正在尝试使用spriteBatcher绘制方法旋转基于box2d体角度的textureRegion:
SpriteBatch.draw(TextureRegion region, float x, float y, float originX, float originY, float width, float height,float scaleX, float scaleY, float rotation)
然而,产生的旋转看起来像这样
我无法弄清楚我做错了什么,尝试了很多不同的originX,originY组合,它总是被打破。试图将起源设置为身体中心,左下角,没有运气。
看了一下文档,对SpriteBatch.class进行了分析,但我不明白是什么原因。
如何正确旋转纹理?
编辑:我不能使用Sprite类,因为正在绘制的textureRegion是一个动画帧,而且你不能用Sprite类制作动画帧
答案 0 :(得分:1)
原点位于图像的左下角,将其放在图像的中心。所以make originX width / 2和originY height / 2。
答案 1 :(得分:1)
像这样设置box2d体的多边形
float width=x,height=y;
PolygonShape polygonShape=new PolygonShape();
polygonShape.setAsBox(width/2, height/2,new Vector2(width/2,height/2),0);
PolygonShape的setAsBox方法被重载。