我正在使用 box2d 为我的物理开发 Java 游戏,我有直升机,例如:
我通过设置减少了重力:
body.setGravityScale(0.03f);
所以它表现得有点逼真(受重力影响很小,漂浮在空中)
要移动它,向下/向上/向左/向右我有控制器,这就是我控制我的直升机的方式:
body.applyLinearImpulse(new Vector2(pValueX * 3, pValueY * 3), mainBody.getWorldCenter());
其中 pValueX 和 pValueY 为 1 或 -1(上/下左或右方向)
它效果很好,但现在我正在尝试实现更逼真的效果,当向左/向右移动直升机时,我想稍微倾斜它,这样它就可以像真正的直升机一样工作,但找不到正确的方法,我尝试过应用身体不同部位受力,但如果一直向左或向右按,它会使我的直升机旋转 360 度。