旋转运动体使其与精灵对齐

时间:2014-12-07 07:10:35

标签: rotation libgdx

在我的项目中,我有一个身体,我已经宣布为运动身体。它与一个大炮精灵相关联 游戏玩法是这样的,用户可以通过拖动旋转大炮。我计算旋转角度并相应地旋转大炮精灵。 但我无法弄清楚如何旋转身体以使其与大炮精灵保持对齐。

关于

1 个答案:

答案 0 :(得分:0)

您可以使用body.setTransform(float x, float y, float angle)body.setTransform(Vector2 position, float angle)手动设置身体的旋转。请注意,angle变量必须以弧度为单位,因此可能需要调用MathUtils.degreesToRadians。对于位置参数,您可以使用正文的现有位置(body.getPosition())。

编辑:当你旋转身体时,我很确定原点将位于重心处。我假设当你旋转你的大炮时,原点不在中心。为了避免奇怪的旋转行为,当您初始化大炮的形状时,可以调用polygonShape.setAsBox(float halfWidth, float halfHeight, Vector2 centre, float angle)Vector2 centre允许您手动更改我认为旋转的身体中心。