point_in_triangle

使用此函数时,定义一个三角形区域,GameMaker将确定给定点是否在其范围内。如果点落在定义的三角形内,则函数将返回true,否则函数将返回false

 

语法:

point_in_triangle(px, py, x1, y1, x2, y2, x3, y3);

参数类型描述
pxReal要检查的点的x坐标。
pyReal要检查的点的y坐标。
x1Real要检查的三角形第一个角点的x坐标。
y1Real要检查的三角形第一个角点的y坐标。
x2Real要检查的三角形第二个角点的x坐标。
y2Real要检查的三角形第二个角点的y坐标。
x3Real要检查的三角形第三个角点的x坐标。
y3Real要检查的三角形第三个角点的y坐标。

 

返回:

Boolean

 

例子:

var inst = instance_nearest(x, y, obj_Player);
if (instance_exists(inst))
{
    var x1 = x + lengthdir_x(100, image_angle - 45);
    var y1 = y + lengthdir_y(100, image_angle - 45);
    var x2 = x + lengthdir_x(100, image_angle + 45);
    var y2 = y + lengthdir_y(100, image_angle + 45);
    if (point_in_triangle(inst.x, inst.y, x, y, x1, y1, x2, y2))
    {
        can_see = true;
    }
}

上述代码使用point_in_triangle函数作为"视锥"来检查"obj_player"的实例,如果对象x/y位置落在定义的三角形内,则将变量设置为true