move_towards_point

此函数只是告诉运行代码的实例以设定的速度向设定点移动。请记住,一旦它到达那里,你就要告诉它该怎么做,因为它不会自己停下来。这意味着,当它向前移动(例如)3个像素时,您可以获得"振动"实例,将x/y目标位置过冲2个像素,然后再次向后移动3个像素,将目标点过冲1个像素,依此类推。可以通过多种方法避免这种情况,例如,在移动之前,使用distance_to_point()查看实例离指定位置有多远。

注意:此函数设置实例的速度,因此即使停止使用此代码,实例也将继续沿前一个方向移动,因此如果希望实例停止,必须将实例speed设置为0。请参见下面的代码示例。

 

语法:

move_towards_point( x, y, sp );

参数类型描述
xReal朝向移动的点的x位置。
yReal要移向的点的y位置。
spReal以每步像素为单位的移动速度。

 

返回:

N/A

 

例子:

if (point_distance(x, y, target.x, target.y) > 5)
{
    move_towards_point(target.x, target.y, 5);
}
else speed = 0;

上述代码将以每步5个像素的速度将实例移动到变量"目标"中索引的实例的位置。一旦到达该位置,速度设置为0。