2013-04-07 74 views
0

我正在尋找在我的遊戲中添加黑洞功能,但我卡在吸引力的計算。Box2d BlackHole吸引力

我所知道的Make a Vortex in 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)); 
} 
+0

所以,你想一個反向漩渦? – 2013-04-07 10:48:55

+0

我想要物體進入旋渦狀,就像黑洞一樣,我的代碼在外面 – kakou 2013-04-07 11:37:13

回答

2

我建議根據身體和你的'漩渦'之間的距離來施加力,而不是手動改變線速度。

This tutorial告訴您如何模擬徑向重力,我認爲這可能適合你的目的

+0

我已經將算法和它的工作結合起來了!非常感謝 – kakou 2013-04-07 14:21:35

+0

太棒了,很高興它的工作! – ssantos 2013-04-07 15:27:50