The moose likes Game Development and the fly likes angle of mouse Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Game Development
Reply Bookmark "angle of mouse" Watch "angle of mouse" New topic
Author

angle of mouse

Evan Pierce
Ranch Hand

Joined: Jan 31, 2006
Posts: 36
im trying to get a sprite to fly towards the mouse when the left click is released. im having trouble figuring out how to get it to calculate the angle inwhich it needs to be moving in to fly towards mouse. anyone know how i could calculate this angle?
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 23395

The x and y components of the motion of the sprite are just going to be proportional to the x and y coordinate differences -- i.e.,

delta_x = f(mouse_x - sprite_x)
delta_y = f(mouse_y - sprite_y)

Where delta_x/y are the amounts to add to the x and y coordinates of the sprite in each frame of animation, mouse_x/y are the mouse coordinates, sprite_x/y are the sprite's coordinates, and f() is some function that determines the speed of motion -- it might be "divide by 5, rounding up", for example.

The actual angle isn't as useful, but if you truly need it, it's

angle_in_radians = Math.atan((mouse_y - sprite_y)/(mouse_x - sprite_x))

you need to be careful of that potential divide-by-zero; if the denominator is 0, then the angle is either 0 or pi, depending on the sign of the numerator.


[Jess in Action][AskingGoodQuestions]
pascal betz
Ranch Hand

Joined: Jun 19, 2001
Posts: 547
Math.atan2(deltaY, deltaX) should do the trick. note that first argument is delta Y. it takes care of division by zero problems.
 
 
subject: angle of mouse
 
Threads others viewed
Homing algorithm, make a object follow another one
help with mouse methods in paint
filling an array list
mouseEntered and exited events to paint
AffineTransform Rectangle2D
developer file tools