Исходя из примера кода
if (r1x + r1w >= r2x && // r1 right edge past r2 left
r1x <= r2x + r2w && // r1 left edge past r2 right
r1y + r1h >= r2y && // r1 top edge past r2 bottom
r1y <= r2y + r2h) { // r1 bottom edge past r2 top
return true;
}
return false;
Я понимаю, что x (в вашем случае: r1x) означает горизонтальное положение верхней левой точки r1 - или R1LeftEdge, имеет смысл только если мы добавимr1w (который является шириной) для него, поскольку они оба горизонтальны, результатом является горизонтальная верхняя правая точка r1 - или R1RightEdge.«r1x + r1h» не имеет смысла, потому что один горизонтальный, а другой вертикальный.