extends CharacterBody2D const SPEED = 400.0 const JUMP_VELOCITY = -400.0 var jumped = false @onready var animation = get_node("AnimatedSprite2D") @onready var healthBar: ProgressBar = $ProgressBar var health = 100 func _ready() -> void: animation.play("idle") func _physics_process(delta: float) -> void: # Add the gravity. if not is_on_floor(): velocity += get_gravity() * delta # Handle jump. if Input.is_action_just_pressed("ui_accept") and is_on_floor(): velocity.y = JUMP_VELOCITY if animation.animation != "jump" : animation.play("jump") elif is_on_floor(): if animation.animation == "jump" : animation.play("idle") # Get the input direction and handle the movement/deceleration. # As good practice, you should replace UI actions with custom gameplay actions. var direction := Input.get_axis("ui_left", "ui_right") if direction > 0: if animation.animation == "idle" : animation.play("run") animation.flip_h = false elif direction < 0: if animation.animation == "idle" : animation.play("run") animation.flip_h = true else: if animation.animation == "run" : animation.play("idle") if direction: velocity.x = direction * SPEED else: velocity.x = move_toward(velocity.x, 0, SPEED) #if global_position.y > 700: #print("DEAD") move_and_slide() func _on_enemy_hurt() -> void: if health - 50 == 0: get_tree().reload_current_scene() else: health -= 50 healthBar.value -= 50