Add fade away component, simple AI and shooting

This commit is contained in:
2025-01-04 08:42:23 +01:00
parent 366c269817
commit f537722849
15 changed files with 347 additions and 12 deletions

View File

@@ -0,0 +1,27 @@
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()