2011-01-25 19 views
5

私は、放射状の重力をbox2dに追加する興味深い記事を見つけました。ポートへLove2dと放射状の重力

http://www.vellios.com/2010/06/06/box2d-and-radial-gravity-code/

このLUAに私は二乗距離を計算し、距離を正規化する必要がありますけれども。

Love2dは適切なベクトルを抽出する機能を持っていないようですが、これは残念です。

私の数学が不足していて、誰かが私を助けない限り、

私はいつもbox2dに切り替えることができますが、love2dはきちんとした解決策のようです。

答えて

4

私は、HUMPライブラリを使用してそれを行う方法を見つけました。

このようにします。

ship = bodies[1] 
shipVec = vector(ship:getX(),ship:getY()) 
planet = bodies[2] 
planetVec = vector(planet:getX(),planet:getY()) 
distance = planetVec – shipVec 
force = 250/distance:len2() 
normforce = force*distance 
bodies[1]:applyImpulse(normforce.x, normforce.y,ship:getX(),ship:getY()) 
関連する問題