xiandie/scene/ground/script/c02/火灾区域燃烧脚本.gd

30 lines
789 B
GDScript

extends AnimatedSprite2D
@export var fade_in: bool = false
@export var next_animation: String = ""
func _ready() -> void:
visible = false
frame = 0
# 结束后播放下一个动画
if next_animation != "":
animation_finished.connect(_on_animation_finished, CONNECT_ONE_SHOT)
sprite_frames.set_animation_loop(animation, false)
var area2d = $Area2D as Area2D
if area2d:
area2d.monitoring = true
area2d.body_entered.connect(_on_body_entered, CONNECT_ONE_SHOT)
func _on_animation_finished() -> void:
if next_animation != "":
play(next_animation)
func _on_body_entered(_node: Node) -> void:
visible = true
if fade_in:
var tween = create_tween()
# 透明度逐渐变为 1
tween.tween_property(self, "modulate:a", 1.0, 2.5).from(0.0)
# 播放动画
play(animation)