mp_linear_step

使用此函数,您可以告诉实例朝向由xgoal和ygoal值指定的特定点采取"步骤"。步骤的大小(即实例每个步骤应移动的像素数)由步骤大小指示,如果实例已经位于该位置,则它将停止而不再继续移动,这与其他更简单的函数相反,如move_towards_point()。步骤大小也是对象将检查每个步骤是否存在碰撞的"前方"距离,您可以选择实例是在与any实例碰撞时停止,还是仅在标记为实体的实例时停止。函数将返回是否已到达目标位置(true)或是否已失败(false)。

注意如果遇到障碍物,此函数不会尝试绕道,它只是失败并停止移动。

 

语法:

mp_linear_step(xgoal, ygoal, stepsize, checkall);

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

 

返回:

Boolean

 

例子:

if (mp_linear_step(mouse_x, mouse_y, 5, 0))
{
    instance_create_layer(x, y, "Effects", obj_Explosion);
    instance_destroy();
}

上述代码将使物体以每步5像素的速度向鼠标移动。一旦到达鼠标位置,它将创建一个对象"obj_Explosion"并自行销毁。