检测二维空间中两个网格状对象的碰撞

时间:2018-11-29 22:50:36

标签: javascript collision-detection game-physics 2d-games game-development

假设我们有两个对象A和B。我们知道的是它们的中心点坐标(x,y 为浮点型)和地图(一串一零-对象的高度始终等于其宽度)。,告诉我们一个对象的哪些区域可以与其他对象发生碰撞。

我已经拥有所有辅助工具,例如检查给定点是否在对象内部,以及在哪个区域(以及是否标记为实心)。

Two objects collision - auxiliary drawing

由于我想在正在开发的HTML5游戏中实现它,因此我需要此算法能够快速地真正运行。我做的第一件事,显然是排除所有基本上无法到达的对象。但是当两个物体确实发生干扰时-我被卡住了当然,我可以循环浏览两个对象的所有地图片段,但这太慢了,因为在实践中,我的对象的实际地图通常为15x15(400个字段)甚至25x25。像这样仅组合两个对象将需要约40万次循环迭代。

编辑:如前所述,我已经实现了边界框,并且由于我的对象不是简单的形状,因此标准解决方案似乎不适用于此处。 enter image description here

您有什么想法,我应该如何解决这个问题?

0 个答案:

没有答案