mp_potential_step

此函数允许实例向由xgoal/ygoal定义的特定位置迈进一步,同时尽量避免障碍。如果实例将运行到实体实例(或任何检查全部为真时的实例)中,则会更改运动方向,以尝试避开该实例并绕其移动。这种方法不能保证有效,但在最简单的情况下,它会有效地将实例推向目标。该函数返回是否达到目标。

 

语法:

mp_potential_step(xgoal, ygoal, stepsize, checkall)

参数类型描述
xgoalReal目标x位置。
ygoalReal目标y位置。
stepsizeReal实例每步移动的速度(以像素为单位)。
checkallBoolean是检查所有实例(true)还是只检查实例(false)。

 

返回:

Boolean

 

例子:

if (instance_exists(obj_Enemy))
{
    var inst;
    inst = instance_nearest(x, y, obj_Enemy);
    mp_potential_step(inst.x, inst.y, 5, false);
}

上述代码首先检查房间中是否存在"obj_Enemy"的实例。如果存在,则找到最近的一个并将其ID存储在变量中。然后使用此变量指示mp_potential_step将带有代码的实例移动到以每步5像素的速度发现的对象的x/y位置,同时避免仅标记为实体的实例。