使用此函数时,定义一个三角形区域,GameMaker将确定给定点是否在其范围内。如果点落在定义的三角形内,则函数将返回true,否则函数将返回false。
point_in_triangle(px, py, x1, y1, x2, y2, x3, y3);
| 参数 | 类型 | 描述 | 
|---|---|---|
| px | Real | 要检查的点的x坐标。 | 
| py | Real | 要检查的点的y坐标。 | 
| x1 | Real | 要检查的三角形第一个角点的x坐标。 | 
| y1 | Real | 要检查的三角形第一个角点的y坐标。 | 
| x2 | Real | 要检查的三角形第二个角点的x坐标。 | 
| y2 | Real | 要检查的三角形第二个角点的y坐标。 | 
| x3 | Real | 要检查的三角形第三个角点的x坐标。 | 
| y3 | Real | 要检查的三角形第三个角点的y坐标。 | 
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。