Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_movetowards

(view raw script w/o annotations or w/e)
1
function 
scr_movetowards
scr_movetowards

function
scr_movetowards(arg0, arg1, arg2)
{ if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); } function scr_obj_movetowards_obj(arg0, arg1, arg2 = 0, arg3 = 0) { scr_obj_movetowards_point(arg0.x + arg2, arg0.y + arg3, arg1); } function scr_obj_movetowards_point(arg0, arg1, arg2) { var _distance = point_distance(x, y, arg0, arg1); if (arg2 >= _distance) { x = arg0; y = arg1; } else { var _direction = point_direction(x, y, arg0, arg1); x += lengthdir_x(arg2, _direction); y += lengthdir_y(arg2, _direction); } }
(arg0, arg1, arg2)
2
{
3
    if (arg0 == arg1)
4
        return arg0;
5
    else if (arg0 > arg1)
6
        return max(arg0 - arg2, arg1);
7
    else
8
        return min(arg0 + arg2, arg1);
9
}
10
11
function scr_obj_movetowards_obj(arg0, arg1, arg2 = 0, arg3 = 0)
12
{
13
    scr_obj_movetowards_point(arg0.x + arg2, arg0.y + arg3, arg1);
14
}
15
16
function scr_obj_movetowards_point(arg0, arg1, arg2)
17
{
18
    var _distance = point_distance(x, y, arg0, arg1);
19
    if (arg2 >= _distance)
20
    {
21
        x = arg0;
22
        y = arg1;
23
    }
24
    else
25
    {
26
        var _direction = point_direction(x, y, arg0, arg1);
27
        x += lengthdir_x(arg2, _direction);
28
        y += lengthdir_y(arg2, _direction);
29
    }
30
}