3

我有一个 Breakout 游戏,在某个时候,我检测到球和桨之间的碰撞,如下所示:

// 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找到

有两种相似的静态方法(它们在返回值的方式上有所不同),结果给你的交集也是一个矩形。这应该足以做你想做的事。

于 2012-12-19T12:53:05.697 回答