質問

Android 2Dグラフィックスを使用して描かれた回転アークがあります

c.drawArc(new RectF(50, 50, 250, 250), 30, 270, true, paint);

アークはします 回転します ゲームが実行されている間、

他のゲームオブジェクト(長方形、円)が衝突するかどうかをどのように検出できるか知りたい ??

私がゲームを書くのは初めてです:)

私はこのようなものを見ました http://hakim.se/experiments/html5/core/01/

前もって感謝します

役に立ちましたか?

解決

アークの衝突は通常の衝突よりもわずかに難しくなりますが、ブール代数を使用すると、特定のポイントがアーク内にあるかどうかを簡単に確認できます。

次の写真を見てください。

ここには3つのオブジェクトがあります。黒い球体、これはあなたのアークを視覚化します、何かがそれに衝突すると、それはあなたのアークの内側にあるかもしれません。黒い球の上にある赤い球体、これはアークの「内側」を視覚化します。何かが赤い球の内側にある場合、それは間違いなく「内側」ではありません。これで、アークの「カットオフ」を視覚化するグリーントライアングルもあります。グリーントライアングル内のすべては、間違いなくアーク内にありません。

何かが黒い球体の中にあるかどうかをテストするのが簡単です。 (球体の中心までのオブジェクトの距離<=球体の半径)。赤い球体についても同じです。緑の三角形は少し難しいです。最初にこれを構築する必要があります。アークの開始ラジアンを見つけてください。スタートラジアンでユニットベクトルを回転させます。次に、エンドラジアンでユニットベクトルを回転させます。これらの両方のベクトルを2 *黒球の半径を長くします。次に、アークの中心点と、三角形の3ポイントとして中心位置を追加した2つのベクトルの位置を使用します。その後、ポイントトライアングル衝突ソルバーの1つを使用できます。 http://www.bing.com/search?q=point+ triangle+collision&go =&form = qblh&scope=web

覚えておいてください:arc =(黒球との衝突)&&!(赤い球との衝突)&&!(緑の三角形との衝突)。

ARC Collision

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top