diff options
Diffstat (limited to 'scripts/PlayerCharacter.gd')
| -rw-r--r-- | scripts/PlayerCharacter.gd | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/PlayerCharacter.gd b/scripts/PlayerCharacter.gd new file mode 100644 index 0000000..06602a4 --- /dev/null +++ b/scripts/PlayerCharacter.gd @@ -0,0 +1,33 @@ +extends KinematicBody2D + +export (int) var speed = 8 +export (float) var walk_wobble_coeff = 5 +var velocity = Vector2() + +func get_input(): + velocity = Vector2() + if Input.is_action_pressed('ui_right'): + velocity.x += 1 + if Input.is_action_pressed('ui_left'): + velocity.x -= 1 + if Input.is_action_pressed('ui_down'): + velocity.y += 1 + if Input.is_action_pressed('ui_up'): + velocity.y -= 1 + velocity = velocity.normalized() * speed + +func _process(_delta): + var is_moving = velocity.length_squared() > .0 + if is_moving: + var time = OS.get_system_time_msecs() / 1000.0 + var rot = 0.2 * sin(walk_wobble_coeff * time) + $Sprite.set_rotation(rot) + else: + $Sprite.set_rotation(0) + + #$Sprite.z_index = self.position[1] + #print($Sprite.z_index) + +func _physics_process(_delta): + get_input() + velocity = move_and_slide(velocity) |
