ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【Godot】【架构】节点通信三件套对比(信号/组/事件总线:什么时候用谁)

【Godot】【架构】节点通信三件套对比(信号/组/事件总线:什么时候用谁)

Godot 节点解耦常用三种方式:信号、组、事件总线(Autoload)。本文对比用法、适用场景与注意点,附代码模板,帮你快速选型。

三件套总览

  • 信号:点对点或一对多,事件驱动,带参数。
  • 组 (Groups):标签式广播,可批量调用组内节点方法。
  • 事件总线 (Autoload + 信号/方法):全局单例,集中管理事件和服务。

什么时候用谁

  • UI 按钮触发游戏逻辑:信号或通过总线转发。
  • 批量控制同类节点(敌人、子弹):
  • 跨场景、全局事件(存档、关卡切换、成就):事件总线

信号模板

# 源 signal collected(value) func _on_body_entered(body): emit_signal("collected", 1)
返回列表