Difference between revisions of "How to point a sprite at a target"

From MiniScript Wiki
Jump to navigation Jump to search
(Created page with "To point a sprite at a target, use the atan function to calculate the angle in radians, then multiply by 180/pi to convert to degrees, and assign the result to the spr...")
 
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
To point a sprite at a target, use the [[atan]] function to calculate the angle in radians, then multiply by 180/[[pi]] to convert to degrees, and assign the result to the sprite's [[Sprite.rotation|.rotation]] property.
+
To point a [[Sprite|sprite]] at a target, use the [[atan]] function to calculate the angle in radians, then multiply by 180/[[pi]] to convert to degrees, and assign the result to the sprite's [[Sprite.rotation|.rotation]] property.
 +
 
 +
See also [[How to move a sprite towards a target]].
  
 
== Example ==
 
== Example ==
 +
This example loads an arrow sprite, and makes it continuously point at the mouse.  Press Control-C to exit.
  
 
<ms>clear
 
<ms>clear
Line 13: Line 16:
 
yield
 
yield
 
end while</ms>
 
end while</ms>
 +
 +
[[File:HowToPointScreenshot.png]]
  
 
[[Category:Mini Micro]]
 
[[Category:Mini Micro]]
 
[[Category:How To]]
 
[[Category:How To]]

Latest revision as of 20:03, 20 November 2021

To point a sprite at a target, use the atan function to calculate the angle in radians, then multiply by 180/pi to convert to degrees, and assign the result to the sprite's .rotation property.

See also How to move a sprite towards a target.

Example

This example loads an arrow sprite, and makes it continuously point at the mouse. Press Control-C to exit.

clear
sp = new Sprite
sp.image = file.loadImage("/sys/pics/arrows/arrow2.png")
sp.x = 480
sp.y = 320
display(4).sprites.push sp
while true // (press Control-C to exit)
	sp.rotation = atan(mouse.y - sp.y, mouse.x - sp.x) * 180/pi
	yield
end while

HowToPointScreenshot.png