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

问题描述:

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

至于

您可以使用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允许您手动更改我假设它旋转的身体中心。