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



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

关于

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

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

最新更新