此函数允许实例向由xgoal/ygoal定义的特定位置迈进一步,同时尽量避免障碍。当实例运行到由"obj"参数指定的对象的实例中时,它将更改运动方向,以尝试避开该实例并绕其移动。这种方法不能保证有效,但在最简单的情况下,它会有效地将实例推向目标。该函数返回是否达到目标。
mp_potential_step_object(xgoal, ygoal, stepsize, obj)
参数 | 类型 | 描述 |
---|---|---|
xgoal | Real | 目标x位置。 |
ygoal | Real | 目标y位置。 |
stepsize | Real | 实例每步移动的速度(以像素为单位)。 |
obj | Object Asset or Object Instance | The object that is to block the path of the instance running the function. Can be an object index, an instance id or the special keyword all. |
if (instance_exists(obj_Enemy))
{
var inst;
inst = instance_nearest(x, y, obj_Enemy);
mp_potential_step_object(inst.x, inst.y, 5, obj_Wall);
}
上述代码首先检查房间中是否存在"obj_Enemy"的实例。如果存在,则找到最近的一个并将其ID存储在变量中。然后,此变量用于告知mp_potential_step_object将代码所在的实例移动到对象的x/y位置,该对象以每步5像素的速度被发现,同时只避免对象"obj_Wall"的实例。