Files
przygody-pana-cegly/scripts/components/fade_away.gd

28 lines
715 B
GDScript

class_name FadeAwayComponent
extends Node
@export var sprite2d: Sprite2D
@export var fade_duration: float = 1.0
@export var speed: float = 10.0
@export var direction: Vector2 = Vector2.UP
@export var root: Node2D
@export var area2d: Area2D
func _ready():
root = get_parent()
if area2d:
area2d.body_entered.connect(on_area2d_body_entered)
func fade_away() -> void:
var fade_tween := create_tween().set_parallel(true)
fade_tween.tween_property(sprite2d, "modulate:a", 0, fade_duration)
fade_tween.tween_property(sprite2d, "position", sprite2d.position + (direction * speed), fade_duration)
await (fade_tween.finished)
root.queue_free()
func on_area2d_body_entered(_body: Node2D) -> void:
fade_away()