2012-02-17 5 views
1

私は質問を理解すると思います、私はゲームを説明する必要があります。ボールが画面の下に落ちていて、ボールをクリックすると、ボールの種類に応じて別のボールに変わります。たとえば、1つのボールをクリックすると、周辺のボールが一時的に固定されます。一部の人は近くで他の人を爆破して破壊するでしょう。オブジェクトが移動していないときの衝突を検出する方法はありますか

私は凍ったボール(body.setType(BodyType.STATIC))があり、隣のボールが爆発した(キネティックボールが大きなスタティックボールに設定されている)場合、衝突は検出されません。

スタティックボディの衝突を検出するにはどうすればよいですか?私は、ええ、彼らは衝突してはいけないので動いていませんが、あなたは静的な物体を持っています。そして、次の瞬間には、それに触れる別の静止物体があります。

さらに詳しい説明が必要な場合は教えてください。

更新日:私はうまくいくかもしれないと考えていますが、わからないことをする必要があります。ダイナミックボディをスタティックボディのように動作させるにはどうすればよいですか?つまり、重力や衝突の影響を受けない動的な身体位置を持つことですか?

答えて

0

APIで掘り下げた後、私は最終的に私を助ける方法を見つけました。以下は、問題を解決するコードです。

-1

IIUCでは、爆発したボールがより大きな半径(爆発の影響を受けた領域に相当)であると考えることができます。その場合、影響を受けた周囲のボールは、より大きな円形の領域と交差するボールになります。

+0

明確にするために、ボールのやりとりの仕組みのゲームロジックは、すべてContactListenerを通じて実行されます。確かに、他の方法がありますが、それはコードから混乱を招くでしょう。 –

0

は、だから私は(ただし、それをテストしていない)、これを行うには二つの方法があると思います。

まずセンサーです。 「固定」静的ボディにセンサーを追加すると、ボディ自体が静的であっても、センサは他の静的オブジェクトとの衝突を検出する必要があります。

第2の可能性は、固定された形状の代わりにキネマティックな形状になっていることです。彼らはまだ衝突を検出し、他の物理オブジェクトから反応しないでユーザー設定の速度を持つことができるという利点があります。しかし、私は、キネマティックシェイプがスタティックボディとの接点を生成するかどうかは完全にはわかりません。

+0

ドキュメントからこれを見つけました:「静的ボディのフィクスチャはダイナミックボディのみと衝突する可能性があります。キネマティックボディのフィクスチャは動的ボディのみと衝突する可能性があります。それは第二のものを排除する。 –

+0

私はセンサーのことを見てから、うまくいくはずですが、そうではありません。静的オブジェクトの1つをセンサーに設定しますが、 'beginContact'は2つの静的オブジェクトの接触を与えません。 –

関連する問題