sokoban
Diffstat (limited to 'PlayerSprite.gd')
-rw-r--r--PlayerSprite.gd35
1 files changed, 35 insertions, 0 deletions
diff --git a/PlayerSprite.gd b/PlayerSprite.gd
new file mode 100644
index 0000000..91d9c5a
--- /dev/null
+++ b/PlayerSprite.gd
@@ -0,0 +1,35 @@
+extends Sprite
+
+onready var tween = $Tween
+
+onready var initial_pos = position
+
+var start_new = true
+
+
+func _physics_process(_delta):
+ if tween.is_active():
+ return
+
+ if not start_new:
+ return
+
+ tween.interpolate_property(
+ self,
+ "position",
+ position,
+ position + Vector2.RIGHT * 32,
+ .7,
+ tween.TRANS_LINEAR,
+ tween.EASE_IN_OUT
+ )
+ tween.start()
+
+
+func _on_VisibilityNotifier2D_screen_exited():
+ start_new = false
+ if tween.is_active():
+ yield(tween, "tween_all_completed")
+ tween.stop_all()
+ position = initial_pos
+ start_new = true