[英]Collision detection 2D between rectangles
我正在为我的游戏编写一个碰撞检测引擎,但是我遇到了一些问题。
确实,由于我有几个固定的矩形和一个移动的矩形(玩家),所以我需要知道固定的矩形的哪一侧首先被玩家碰撞,才能正确替换他。
固定矩形不在网格中,因此可以将其放置在地图上的任何位置,并且可以具有不同的大小。 它们没有旋转。
玩家类存储它的方向向量。
任何想法?
风筝
名称为“轴对齐边界框”碰撞检测。
现在您知道了名称,剩下的可以用Google了。
简而言之:
您将相互比较边界矩形的Y和X分量以检查是否存在碰撞。 如果玩家的最高(Y)小于敌人的最低,则您不再需要检查,因为他们不可能发生碰撞。 如果玩家的右侧(X)小于敌人的左侧,那么他们将无法碰撞。 这将有助于在类中定义要检查的每个对象的顶部,右侧,底部,左侧。 这将使您也知道哪一侧被击中。 这应该足以让您思考和尝试。
玩得开心!
感谢你们俩的帮助。
我听说过AABB,但乍一看似乎不符合我的需求(因为我不太了解)。
但是在将所有内容写下来后,我发现的解决方案似乎与AABB完全相同!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.