旋转运动体使其与精灵对齐
问题描述:
在我的项目中,我有一个我已经声明为运动体的体。它与一个炮弹精灵相关联。 游戏玩法是这样的,用户可以通过拖动旋转大炮。我计算旋转角度并相应地旋转炮弹。 但我无法弄清楚如何旋转身体,使其与大炮精灵保持一致。旋转运动体使其与精灵对齐
至于
答
您可以使用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
允许您手动更改我假设它旋转的身体中心。