|
@@ -0,0 +1,43 @@
|
|
|
+
|
|
|
+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
|
|
|
+
|
|
|
+
|