6

私は爆弾をどこかに置こうとしています。爆弾が爆発すると、周りのすべてのものが飛んでいきます。速度は、オブジェクトが爆弾にどれだけ近いかによって異なります。黒い鳥が怒っている鳥の中で爆発するときのようなもの。

誰かが私にサンプルコードまたはそれを行う方法を教えてもらえますか(私はbox2dでandengineを使用しています)

ありがとうございました

4

1 に答える 1

7

Angry Birdsのように現実的(っぽい)になる場合は、爆弾によって吹き飛ばされたオブジェクトごとに、2次パスをたどります。

andengineまたはbox2dがわかりません。しかし、私はゲームで単純な2D爆発と発射体モデリングを行いました。私はあなたが以下から何かを取ることができることを願っています:

爆弾からのオブジェクトの(x、y)座標距離を調べたいと思うでしょう。これから角度を計算します。(たとえば、爆弾が爆発するときに爆弾の上にあるオブジェクトの角度は90またはpi/2になります。

これから、角度の罪とcosを計算します。力係数Fを掛けます(爆弾の強さと爆弾からのオブジェクトの距離に依存します)。これから、最初の動きのベクトルが得られます{F * Math.cos(angle)、F * Math.sin(angle )};

ここからは、単なる平面運動学です。オブジェクトは、空中を通る2次パスをたどる必要があります。方程式は次のようになります。

object.setXCoord(object.getXCoord()+time_constant); //after initial explosion, no force is      
                             //acting horizontally on object.


object.setYCoord(object.getYCoord()-some_constant*time_constant+another_constant*time_constant*time_constant);// note Y's path 
                                                  //relative to time is quardatic.

使用するタイプに応じて、おそらくそこにいくつかのキャストを追加する必要があります。すべての定数はゲームによって異なります。time_constantは1かもしれませんが、1の倍数を実行すると、爆発がより視覚的に魅力的になることがわかりました。つまり、タイムカウンターtが増加すると、オブジェクトの移動にtime_constant0.5が使用される場合があります。試行錯誤を繰り返して、どの定数値が最適かを確認しました。

于 2011-08-08T04:52:17.097 に答える