Box2D setTransform()角度非常不正确

时间:2016-08-17 23:42:18

标签: java android libgdx box2d

我有一个box2D机身,它附有两个多边形灯具。当我调用setTransform(传递值0,0表示位置,1表示角度/旋转)时,它应该旋转到1度,对吗?由于某种原因,它旋转到大约45度(不完全)。当我将其设置为5度时,它略小于1个完整旋转。为什么会发生这种情况?

额外信息:
- 世界有0重力,睡眠设定为假 - 身体设置为运动学。
- 我使用box2DDebugRenderer渲染实体 - 身体上有2个多边形固定装置 - 我使用的虚拟世界大小为50x50。

谢谢!如果您需要额外的信息,请随时询问!

1 个答案:

答案 0 :(得分:0)

我为那些遇到同样问题的人找到了解决方案!我必须使用下面的代码将度数转换为弧度:

private static final double DEGREES_TO_RADIANS = (double)(Math.PI/180);
float angle = (float) (45*DEGREES_TO_RADIANS);
object.body.setTransform(object.body.getWorldCenter(), angle);