| 12345678910111213141516171819202122232425262728293031323334353637 |
- 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")
|