有人可以解释一下矩形切割是如何工作的

时间:2018-01-14 20:28:33

标签: javascript collision-detection

有人可以向我解释这是如何工作的,或链接到可以解释这一点的网站/视频。

if (rect1.x < rect2.x + rect2.width &&
   rect1.x + rect1.width > rect2.x &&
   rect1.y < rect2.y + rect2.height &&
   rect1.height + rect1.y > rect2.y) {
    // collision detected!
}

2 个答案:

答案 0 :(得分:0)

你询问盒子到盒子的碰撞,在这里检查我的答案,它的android用于android但代码是一样的。它还具有3d碰撞的额外轴,但对于2d只是移除z轴

是相同的

Answer

答案 1 :(得分:0)

首先,想象一下grid。向上和向下运行的线给出一个x坐标,左右运行的线给出一个y坐标。

该网格上的一个矩形(假设它与网格线对齐)将有4个坐标对:左上角,左下角,右上角,右下角。 rect.xrect.y似乎是左下角的坐标。然后代码检查矩形之间是否有任何重叠。

此特定方法称为bounding box collision detection,链接中的MDN站点似乎是代码的来源。