From e39c090fa38e4e9faa895d7933f041b8f8a8e5c0 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 29 Jul 2020 23:43:29 +0300 Subject: Turn player to look at walking dir --- scripts/DwarfNPC.gd | 5 +++-- scripts/PlayerCharacter.gd | 12 ++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/DwarfNPC.gd b/scripts/DwarfNPC.gd index 3cacc3c..b55fff2 100644 --- a/scripts/DwarfNPC.gd +++ b/scripts/DwarfNPC.gd @@ -15,7 +15,8 @@ func _ready(): # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(_delta): + # Look at target node var target_x: float = target_node.position[0] var dx = target_x - self.position[0] - var scale_val = -1 if dx < .0 else 1 - $Sprite.set_scale(Vector2(scale_val, 1)) + var dir = -1 if dx < .0 else 1 + $Sprite.set_scale(Vector2(dir, 1)) diff --git a/scripts/PlayerCharacter.gd b/scripts/PlayerCharacter.gd index 06602a4..9f52a23 100644 --- a/scripts/PlayerCharacter.gd +++ b/scripts/PlayerCharacter.gd @@ -3,6 +3,8 @@ extends KinematicBody2D export (int) var speed = 8 export (float) var walk_wobble_coeff = 5 var velocity = Vector2() +var look_dir = 1 # right = 1 + # left = -1 func get_input(): velocity = Vector2() @@ -17,6 +19,7 @@ func get_input(): velocity = velocity.normalized() * speed func _process(_delta): + # Update walking wobble var is_moving = velocity.length_squared() > .0 if is_moving: var time = OS.get_system_time_msecs() / 1000.0 @@ -25,8 +28,13 @@ func _process(_delta): else: $Sprite.set_rotation(0) - #$Sprite.z_index = self.position[1] - #print($Sprite.z_index) + # Look at walking direction + if velocity[0] > .0: + look_dir = 1 + elif velocity[0] < .0: + look_dir = -1 + + $Sprite.set_scale(Vector2(look_dir, 1)) func _physics_process(_delta): get_input() -- cgit v1.3