3

私はブレイクアウトゲームを持っています。ある時点で、ボールとパドルの衝突を次のように検出します。

// Ball class
rectangle.Intersects(paddle.Rectangle);

現在の衝突の正確な座標、またはそれに関する詳細を取得する方法はありますXNA APIか?

衝突した瞬間の各オブジェクトの正確な座標を比較するなど、いくつかの基本的な計算を行うことを考えました。次のようになります。

// Ball class
if((rectangle.X - paddle.Rectangle.X) < (paddle.Rectangle.Width / 2))
    // Collision happened on the left side
else
    // Collision happened on the right side

しかし、これが正しい方法かどうかはわかりません。

それを達成するために私が使用しなければならないかもしれないエンジンについて何かアドバイスはありますか?または、この方法を使用した優れたコーディング手法でさえありますか?

4

1 に答える 1

3

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.rectangle.intersect.aspxで見つけました

2 つの類似した静的メソッド (値が返される方法が異なります) があり、その結果、長方形でもある交差点が得られます。これは、あなたが望むことをするのに十分なはずです.

于 2012-12-19T12:53:05.697 に答える