mp_potential_step_object

此函数允许实例向由xgoal/ygoal定义的特定位置迈进一步,同时尽量避免障碍。当实例运行到由"obj"参数指定的对象的实例中时,它将更改运动方向,以尝试避开该实例并绕其移动。这种方法不能保证有效,但在最简单的情况下,它会有效地将实例推向目标。该函数返回是否达到目标。

 

语法:

mp_potential_step_object(xgoal, ygoal, stepsize, obj)

参数类型描述
xgoalReal目标x位置。
ygoalReal目标y位置。
stepsizeReal实例每步移动的速度(以像素为单位)。
objObject Asset or Object InstanceThe 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.

 

返回:

Boolean

 

例子:

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"的实例。