矩形之间的碰撞检测2D

时间:2010-06-20 12:12:02

标签: c# 2d collision-detection

我正在为我的游戏编写碰撞检测引擎,但我遇到了一些问题。

事实上,由于我有几个固定矩形和一个移动(播放器),我需要知道固定一个的哪一侧最初是由玩家碰撞,以正确地替换它。

固定矩形不在网格中,因此它们可以放置在地图上的任何位置,并且它们可以具有不同的大小。它们没有旋转。

玩家类存储它的方向向量。

有什么想法吗?

风筝

3 个答案:

答案 0 :(得分:3)

名称是“Axis-Aligned Bounding Box”碰撞检测。

现在你知道这个名字了,其余的你可以谷歌。

答案 1 :(得分:3)

简而言之:
您将比较边界矩形的Y和X分量以检查碰撞。如果玩家的顶部(Y)小于敌人的底部,那么你不需要再检查,因为它们不可能发生碰撞。如果玩家的右侧(X)小于敌人的左侧,那么他们就不会发生碰撞。这将有助于定义您打算在类中检查的每个对象的顶部,右侧,底部,左侧。这将让您知道哪一方也被击中。这应该足以让你思考和试验 玩得开心!

答案 2 :(得分:0)

感谢你们两位的帮助。

我听说过AABB,但乍一看它似乎并不符合我的需求(因为我不太了解它)。

但在写下papper上的所有内容后,我发现的解决方案似乎与AABB完全一样!