rectangle_in_rectangle

此函数将检查您定义的两个矩形区域,以查看源矩形是否完全在目标矩形边界内不发生碰撞,或者是否只是接触源矩形。如果它们完全不接触,则函数将返回0;如果源完全在目标范围内,则返回1;如果它们只是重叠,则返回2。下图说明了这一点:

Rectangle rectangle collision example

语法:

rectangle_in_rectangle(sx1, sy1, sx2, sy2, dx1, dy1, dx2, dy2);

参数类型描述
sx1Real源矩形左侧的x坐标。
sy1Real源矩形顶边的y坐标。
sx2Real源矩形右侧的x坐标。
sy2Real源矩形底侧的y坐标。
dx1Real要检查的目标矩形左侧的x坐标。
dy1Real要检查的目标矩形顶部边的y坐标。
dx2Real要检查的目标矩形右侧的x坐标。
dy2Real要检查的目标矩形底边的y坐标。

 

返回:

Real

 

例子:

switch(rectangle_in_rectangle(x - 50, y - 50, x + 50, y + 50, mouse_x - 50, mouse_y - 50, mouse_x + 50, mouse_y + 50))
{
    case 0: image_blend = c_yellow; break;
    case 1: image_blend = c_red; break;
    case 2: image_blend = c_orange; break;
}

上述代码检查两个矩形区域是否存在碰撞,并将根据返回值设置实例image_blend