2012-04-03 97 views
1

我已经看过很多2D游戏的碰撞检测技术,但我找不到我在找什么。我的游戏是一款破砖者游戏。最好的二维碰撞检测

我已经看过像素到像素的碰撞风格,但它看起来很复杂,我想要做什么。 有没有更简单的方法? 我正在使用XNA。 在此先感谢。

+2

您可能需要在[gamedev.stackexchange.com](http://gamedev.stackexchange.com/)上发布此问题 – Tim 2012-04-03 16:45:58

+0

哦谢谢。没有注意到我们有这个。 – Lyrveil 2012-04-03 16:49:47

回答

2

您是否尝试过查看矩形碰撞? 你声明一个Rectangle你的精灵,并检查他们是否Intersect测试碰撞。这是我知道的最简单的方法。 查看here的解释如何使用它。

希望这会有所帮助。

3

以下是正确的方法。

  1. 将两个物体镶嵌成一组凸子区域。这可以作为预处理步骤完成。
  2. 对于来自对象A和对象B的两个子区域的每个组合,请执行以下比较: a。在N + 1维空间构造一个倾斜的棱镜。这是当凸起子区域从时间= 0移动到时间= n时的挤压。如果对象旋转,那么你就是SOL,因为这不会是凸区域。

    b。使用Simplex算法确定是否存在两个凸起子区域的可行交集。或者,您可以使用椭球方法或内部遍历LP算法。

    c。如果任何一对凸形子区域相交,则会发生碰撞。

...或者您可以像其他人一样使用轴对齐的矩形。如果您需要加快速度,请使用间隔树。