在 spine-godot
中,你可以使用 SpineSprite
的信号来实现动画播放完后的处理。具体来说,animation_completed
信号会在动画在一个轨道上完成一个循环时发出。你可以连接这个信号到一个函数,以便在动画完成时执行特定的逻辑。
例如,你可以在 GDScript 中这样实现:
extends SpineSprite
func _ready():
var animation_state = get_animation_state()
animation_state.set_animation("blink", false, 0)
connect("animation_completed", self, "_on_animation_completed")
func _on_animation_completed(spine_sprite, animation_state, track_entry):
# 在这里实现你的逻辑,比如等待随机时间后再次播放动画
var random_delay = randi() % 3 + 1 # 随机等待1到3秒
yield(get_tree().create_timer(random_delay), "timeout")
animation_state.set_animation("blink", false, 0)
在这个例子中,当 blink
动画完成时,_on_animation_completed
函数会被调用。然后,它会等待一个随机的时间(1到3秒),再重新设置 blink
动画。