使用此函数时,定义一个三角形区域,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。