0

我希望在我的游戏中添加一个黑洞功能,但我被困在吸引力的计算上。

我知道在 Box2D 中制作一个漩涡

但实际上我的物体并没有被黑洞吸引,它们正在一点一点地远离中心

这是我的代码:

   public void applyVortexForce(PhysicBody bodyCollider) {

    Vec2 speed = this._physicBody.getBody()
            .getLinearVelocityFromWorldPoint(
                    bodyCollider.getBody().getWorldCenter());

    speed.mul(1.8f);
    Vec2 currentSpeed = new Vec2(bodyCollider.getBody()
            .getLinearVelocity().x, bodyCollider.getBody()
            .getLinearVelocity().y);

    Vec2 diff = speed.sub(currentSpeed);

    currentSpeed = currentSpeed.add(diff);
    currentSpeed.mul(bodyCollider.getBody().getMass());

    bodyCollider.getBody().setLinearVelocity(
            new Vec2(currentSpeed.x, currentSpeed.y));
}
4

1 回答 1

2

我建议根据物体与“漩涡”之间的距离施加力,而不是手动改变线速度。

本教程向您展示如何模拟径向重力,我认为这可能适合您的目的

于 2013-04-07T12:00:17.180 回答