我有一个box2D机身,它附有两个多边形灯具。当我调用setTransform(传递值0,0表示位置,1表示角度/旋转)时,它应该旋转到1度,对吗?由于某种原因,它旋转到大约45度(不完全)。当我将其设置为5度时,它略小于1个完整旋转。为什么会发生这种情况?
额外信息:
- 世界有0重力,睡眠设定为假
- 身体设置为运动学。
- 我使用box2DDebugRenderer渲染实体
- 身体上有2个多边形固定装置
- 我使用的虚拟世界大小为50x50。
谢谢!如果您需要额外的信息,请随时询问!
答案 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);