Files
2022-12-13 16:51:04 +01:00

39 lines
969 B
GDScript

class_name Player extends CharacterBody2D
## Movement speed in pixels per second.
const MOVEMENT_SPEED = 240.0
var health := 100.0:
get:
return health
set(value):
health = value
progress_bar.value = value
if health <= 0.0:
# The player died.
get_tree().reload_current_scene()
var motion := Vector2()
@onready var progress_bar := $ProgressBar as ProgressBar
@onready var sprite := $Sprite2D as Sprite2D
func _process(_delta: float):
velocity = Input.get_vector(&"move_left", &"move_right", &"move_up", &"move_down")
if velocity.length_squared() > 1.0:
velocity = velocity.normalized()
velocity *= MOVEMENT_SPEED
move_and_slide()
func _input(event: InputEvent):
if event.is_action_pressed(&"move_left"):
sprite.rotation = PI / 2
elif event.is_action_pressed(&"move_right"):
sprite.rotation = -PI / 2
elif event.is_action_pressed(&"move_up"):
sprite.rotation = PI
elif event.is_action_pressed(&"move_down"):
sprite.rotation = 0.0