godot/demos/2d/lookat/lookat.gd
Juan Linietsky 3936ed882c -Added lookat/get_angle_to functions in 2D, and a demo, closes #1843
-Added get_viewport().get_mouse_pos() to replace Input.get_mouse_pos(), closes #1838
2015-05-12 08:17:09 -03:00

44 lines
683 B
GDScript

extends Sprite
# member variables here, example:
# var a=2
# var b="textvar"
const MODE_DIRECT=0
const MODE_CONSTANT=1
const MODE_SMOOTH=2
const ROTATION_SPEED = 1
const SMOOTH_SPEED = 2.0
export(int,"Direct","Constant","Smooth") var mode=MODE_DIRECT
func _process(delta):
var mpos = get_viewport().get_mouse_pos()
if (mode==MODE_DIRECT):
look_at(mpos)
elif (mode==MODE_CONSTANT):
var ang = get_angle_to(mpos)
var s = sign(ang)
ang=abs(ang)
rotate( min(ang,ROTATION_SPEED*delta)*s )
elif (mode==MODE_SMOOTH):
var ang = get_angle_to(mpos)
rotate( ang*delta*SMOOTH_SPEED )
func _ready():
# Initialization here
set_process(true)
pass