Added player health and health bar

This commit is contained in:
2026-06-29 19:45:21 +03:00
parent 05b31471aa
commit aa95e704d4
10 changed files with 283 additions and 3 deletions
+19
View File
@@ -2,6 +2,13 @@ class_name Player
extends CharacterBody2D
signal health_changed(value: float)
signal dead()
const MAX_HEALTH = 100.0
@export_group("Movement", "move")
@export_range(0.0, 1000.0) var move_max_speed_normal := 350
@export_range(0.0, 1000.0) var move_max_speed_slowed := 250
@@ -28,6 +35,11 @@ var _slow_down_tween: Tween
var _last_wall_normal: = 0.0
var _current_health: = MAX_HEALTH:
set(value):
_current_health = value
health_changed.emit(_current_health)
@onready var player_sprite : AnimatedSprite2D = $PlayerSprite
@onready var blade_sprite : AnimatedSprite2D = $BladeSprite
@@ -126,6 +138,13 @@ func _input(event: InputEvent) -> void:
_attack()
func deal_damage(value: float) -> void:
_current_health -= value
health_changed.emit(_current_health)
if _current_health < 0.0 or is_zero_approx(_current_health):
dead.emit()
func _attack() -> void:
var sprite := attack_left_sprite if velocity.x <= 0.0 else attack_right_sprite
sprite.show()