【发布时间】:2019-09-24 04:47:38
【问题描述】:
http://jeffreythompson.org/collision-detection/rect-rect.php
我正在尝试用矩形的图片和代码找出矩形/矩形的碰撞检测算法。根据 Jeff Thompson 的碰撞检测文章,有价值的 r1RightEdge 是 r1x + r1w。
float r1RightEdge = r1x + r1w;
if (r1RightEdge >= r2x) {
// right edge of r1 is past left edge of r2
}
图中蓝色矩形的r1RightEdge垂直点线是有价值的吗?如果是这样,为什么有价值的 r1RightEdge 是 r1x +r1w 而不是 r1x+r1h?
【问题讨论】:
-
你被“垂直线”这个词弄糊涂了。您需要了解有关坐标的更多信息。这样想:当您在平面上沿水平(左/右)方向移动时,您正在更改“x”坐标。当您垂直移动(上/下)时,“y”正在发生变化。要从盒子的垂直右边缘通过,您必须水平移动(x 方向)。如果你垂直移动,你到右边缘线的距离将是固定的,你永远不会到达它。
-
感谢您的解释!我现在明白了。
标签: html algorithm canvas collision-detection rectangles