信号是 Godot 的“事件总线”,用好它可以让 UI 与玩法解耦、模块复用。本文讲清概念、图形化连接 vs 代码连接、全局信号封装,并附常见坑与最佳实践(精力有限,附件后面慢慢补)。
信号是什么
- 类似 C# 事件/UnityEvent:发送者发射,接收者监听,双方无需相互引用具体类型。
- 任意节点都可以定义/发射信号,参数自定义。
定义与发射
signal hit(damage: int, from)
func _on_body_entered(body):
emit_signal("hit", 10, body)
- 信号定义放在脚本顶部,
emit_signal传参顺序与定义一致。
两种连接方式
图形化(适合固定场景)
- 选中信号源节点 → Node 面板 → Signals → 双击信号。
- 选择接收节点(通常场景根),确认后 Godot 生成回调函数并连接。

订阅专栏 解锁全文
148

被折叠的 条评论
为什么被折叠?



