Files
2025-09-13 16:30:32 +01:00

38 lines
783 B
GDScript

extends StaticBody2D
var falling := false
var can_fall := false
const FALL_SPEED := 96
@onready var starting_position := global_position
func _physics_process(delta: float) -> void:
if falling:
global_position.y += FALL_SPEED * delta
if $PlayerDetection.is_player_in_area():
$Sprite.play("Fall")
elif not falling:
$Sprite.play("Idle")
func start_falling() -> void:
falling = true
$Collision.set_deferred("one_way_collision", true)
$FallTimer.start()
func respawn() -> void:
$Collision.set_deferred("one_way_collision", false)
can_fall = true
falling = false
global_position = starting_position
$AnimationPlayer.play("Grow")
func on_player_entered() -> void:
$AnimationPlayer.play("Shake")
func on_player_exited() -> void:
$AnimationPlayer.play("RESET")