You are not logged in.
Pages: 1
Hey,
I've got some things to say about move_to_mouse.
First of all, the name of the script is wrong(in my opinion), it should be 'jump_to_mouse'. A good 'move_to_mouse' script would be:
/// move_to_mouse(speed)
if point_distance(x,y,mouse_x,mouse_y)<argument0
{
x = mouse_x;
y = mouse_y;
}else{
var dir;
dir = point_direction(x,y,mouse_x,mouse_y)
x+= lengthdir_x(argument0,dir)
y+= lengthdir_y(argument0,dir)
}
Because you really move using this script.
The second thing, why did you put this 'script' on the site? I mean, it's just too simple, everyone could make it, it's just assigning some variables, right?
Maybe beginners don't know the variable-name's, but GMLscripts is not for basic scripts(correct me if I am wrong).
I think this script is too simple to be in the GMLscripts library(whatever it's called).
Blue
Offline
more streamlined
var dir;
var dist;
dir = point_direction(x,y,mouse_x,mouse_y)
dist = min(point_distance(x,y,mouse_x,mouse_y),argument0)
x+= lengthdir_x(dist,dir);
y+= lengthdir_y(dist,dir);
the other, a speed based method
direction = point_direction(x,y,mouse_x,mouse_y)
speed = min(point_distance(x,y,mouse_x,mouse_y),argument0)
Offline
Those are some good points, Blue.
I agree, jump_to_mouse
is the best name for that function. That name is in the style of the Game Maker reference, which is what I prefer.
For the new function, I'm going to recommend calling it move_towards_mouse
, which is also more in the style of Game Maker, and is less ambiguous than move_to_mouse
. I believe it should use the speed/direction method provided by icuurd12b42 because that is how the Move Towards action works.
I think the other method of setting x
and y
directly should be called step_towards_mouse
because it works like the Step Towards action.
As for the reason the script appears at all, I did give it some serious thought. At first I was going to toss this script out when it was submitted, but as I explained to the submitter, I've decided to keep it because I believe it demonstrates good coding practice by abstracting a process by using a function with a descriptive name. Maybe I should add a note to that effect on the script page.
Abusing forum power since 1986.
Offline
Pages: 1