我该怎么在godot中调用spine中设置的音频事件?

Related Discussions
...

我该如何在代码中访问spine的设定的音频事件?

在代码中访问Spine的音频事件可以通过监听SpineSprite节点的animation_event信号来实现。animation_event信号会在用户定义的事件(包括音频事件)发生时触发。你可以连接这个信号到一个函数,并在该函数中处理音频事件。

以下是一个简单的示例,展示如何在Godot中使用GDScript监听animation_event信号:

extends SpineSprite

func _ready():
    # 连接 animation_event 信号到 _on_animation_event 函数
    connect("animation_event", self, "_on_animation_event")

# 处理 animation_event 信号的函数
func _on_animation_event(track_index, event):
    if event.data.name == "your_audio_event_name":
        # 在这里处理音频事件,例如播放音频
        print("Audio event triggered: ", event.data.name)

在这个示例中,your_audio_event_name应该替换为你在Spine中定义的音频事件的名称。当该事件被触发时,_on_animation_event函数会被调用,你可以在其中添加播放音频的逻辑。

感谢你,但是他还是报错

Please see the example here:
EsotericSoftware/spine-runtimesblob/4.2/spine-godot/example/examples/02-animation-state-listeners/animation-state-listeners.gd#L20-L23

Spinebot was close but you want event.get_data().get_event_name():

func _animation_event(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry, event: SpineEvent):
	print("Animation event: " + track_entry.get_animation().get_name() + ", " + event.get_data().get_event_name())
	if (event.get_data().get_event_name() == "footstep"):		
		footstep_audio.play()
Merged 5 posts from 我该如何在代码中访问spine的设定的音频事件?.

非常的感谢你,我的朋友,祝你度过愉快的一天 !