碰撞检测(边界检测)广泛应用于前端游戏和涉及拖拽交互的场景。那么什么是碰撞?JavaScript如何检测DOM冲突?碰撞,顾名思义就是两个物体碰撞在一起,眼睛可以直观的观察到碰撞的发生。但是对于前端实现,如何让JavaScript代码理解两个独立的“对象”(DOM)碰撞在一起。这就涉及到碰撞检测(或边界检测)的问题。碰撞检测常见的需求场景:常见的前端碰撞大致可以分为几类:两个矩形块的碰撞:判断任意两个(水平)矩形的任意两条边之间是否有距离,从而得到两个是否是矩形块碰撞。在一种具体实施方式中,可以选择一个矩形作为参考对象,计算另一个矩形的边是否与自身重合。如果四个边都没有重叠,则没有碰撞,否则发生碰撞。图形示例:简单算法实现(非碰撞情况,else分支是碰撞情况):bottom
