Skip to content
写作:待补充更新:2026-05-16字数:—阅读:—维护:Azek431

创游世界广播使用速查卡

一句话摘要

创游世界广播机制的快速查询表,一问一答形式,帮助快速查阅广播的发送、接收、命名规范和常见问题。

适合谁阅读

  • 需要快速查找广播用法的开发者
  • 遇到「广播没效果」问题的创作者
  • 想了解广播最佳实践的学习者

你将学到什么

  • 广播的基本概念和使用方法
  • 发送广播和接收广播的具体写法
  • 广播的命名规范
  • 广播的常见误区和避坑建议
  • 广播与其他通信方式的对比

基础概念类

Q:广播是什么?

A:广播是一种「发消息给多个对象」的事件通知机制。发送者不需要知道谁在接收,接收者通过「监听」来响应消息。


Q:广播和普通函数调用有什么区别?

A

  • 普通调用:A 直接调用 B,B 必须存在
  • 广播:A 发消息,BCDEF 谁在听谁响应,不需要知道对方在哪

Q:广播适合做什么?

A

  • UI 通知地图处理请求
  • 事件通知(如敌人死亡、任务完成)
  • 跨物体、跨层级通信
  • 解耦不同模块

Q:广播不适合做什么?

A

  • 精确指定某个对象执行某事(应该用直接调用)
  • 大量高频同步(会有性能问题)
  • 跨地图通信(默认只在本地图生效)

发送广播类

Q:怎么发送广播?

A

发送广播 "广播名称"

Q:广播可以带参数吗?

A:可以。

发送广播 "道具_获得" 并携带数字 100
发送广播 "任务_完成" 并携带文本 "任务A"

Q:UI 怎么发广播?

A

当点击按钮时
  发送广播 "请求购买"
结束

Q:地图脚本怎么向 UI 发广播?

A:使用「向当前 UI 发广播」或「向地图发广播」。

当收到广播 "购买成功" 时
  向当前 UI 发广播 "刷新界面"
结束

接收广播类

Q:怎么接收广播?

A:添加「当收到广播时」触发时机。

当收到广播 "刷新界面" 时
  刷新金币显示
结束

Q:接收广播时怎么获取参数?

A

当收到广播 "道具_获得" 并携带数字 时
  获取道具数量
  显示 "获得 " + 参数 + " 金币"
结束

Q:同一个广播可以有多个接收者吗?

A:可以。所有监听该广播的脚本都会执行。

当收到广播 "敌人_死亡" 时 → 播放音效
当收到广播 "敌人_死亡" 时 → 刷新任务进度
当收到广播 "敌人_死亡" 时 → 统计击杀数

Q:广播可以被其他地图的物体接收吗?

A:默认不行,只能被当前地图的物体接收。跨地图通信需要用玩家变量或系统属性。


命名规范类

Q:广播名大小写敏感吗?

A:不敏感,但建议统一风格(如全小写+下划线)。


Q:广播名怎么写比较好?

A:用语义化命名,表达「事件」或「意图」。

✅ 推荐❌ 不推荐
道具_获得刷新1
任务_完成刷新2
玩家_移动abc
商店_关闭test

Q:广播名需要加前缀吗?

A:可以加系统前缀,如「模块名_功能」。

  • 商店_购买
  • 任务_完成
  • 战斗_开始
  • UI_刷新

场景应用类

Q:UI 和地图怎么通过广播通信?

A:推荐「UI 发请求 → 地图处理 → 地图发通知 → UI 刷新」模式。

// UI 层
当点击购买按钮时
  发送广播 "请求购买" 并携带文本 "商品A"
结束

当收到广播 "购买成功" 时
  刷新界面
结束

// 地图层
当收到广播 "请求购买" 时
  处理购买逻辑
  扣钱、发道具
  发送广播 "购买成功"
结束

Q:广播适合用在哪些系统?

A

  • 任务系统(任务完成广播)
  • 成就系统(成就解锁广播)
  • 商店系统(购买请求广播)
  • 战斗系统(伤害/死亡广播)
  • UI 刷新系统(界面更新广播)

Q:多人联机时广播有什么要注意的?

A

  • 每个玩家只运行自己的 UI 逻辑
  • UI 只发一次广播,不要连续发多次
  • 需要同步的数据用地图广播下沉

常见问题类

Q:广播发了但没效果?

A:检查清单:

  1. 广播名是否一致(包括大小写、空格)
  2. 接收脚本是否在「当收到广播时」触发时机下
  3. 接收者是否在当前地图
  4. 接收者在广播发送时是否还存在

Q:广播太多会导致什么问题?

A

  • 性能下降
  • 难以追踪谁在响应
  • 维护困难

建议:合并高频广播、控制广播频率、语义化命名。


Q:广播和指令调用有什么区别?

A

特性广播指令调用
接收者数量多个单个
依赖关系解耦耦合
灵活性
性能中等
适用场景事件通知精确控制

Q:可以用变量存广播名吗?

A:可以,但要注意广播名的作用范围。

新建局部变量 广播名 为 "道具_获得"
发送广播 广播名

Q:广播可以嵌套吗?

A:可以,但要注意不要过度嵌套,否则调试困难。

当收到广播 "A" 时
  发送广播 "B"
结束

当收到广播 "B" 时
  发送广播 "C"
结束

广播快速选择表

需求广播写法说明
UI 请求地图处理发送广播 "请求_xxx"地图层处理
地图通知 UI 刷新向当前 UI 发广播 "刷新_xxx"UI 层响应
多系统响应同一事件发送广播 "事件_名称"各系统监听
传递数值参数发送广播 "xxx" 并携带数字 100带参数
传递文本参数发送广播 "xxx" 并携带文本 "内容"带文本参数

概念关系速查

广播 = 事件通知机制
  ├── 发送方:发送广播 + 参数(可选)
  ├── 接收方:当收到广播时 + 参数(可选)
  └── 作用:跨对象、解耦通信

广播类型:
  ├── 地图广播(当前地图可见)
  ├── UI 广播(UI 层发出/接收)
  └── 向当前 UI 发广播(地图向 UI 发)


广播命名规范:
  ├── 语义化:表达事件/意图
  ├── 统一风格:全小写+下划线
  └── 加前缀:模块名_功能

相关页面


待验证问题

以下问题需要进一步验证:

问题状态验证方向
广播在特定版本下的性能表现🔄 待验证需要压测确认
广播链过长时的实际限制🔄 待验证需要大型项目测试

> 📝 说明:广播核心用法已稳定,进阶性能问题属于研究范畴。

后续优化方向

  • [ ] 补充更多实战案例
  • [ ] 增加广播性能测试方法
  • [ ] 完善与自定义指令的对比说明

参与维护

发现文档问题?

你可以编辑页面、提交反馈,或复制链接给维护者,帮助这个资料库继续变好。

由 Azek431 整理与维护 | 基于 MIT 许可证开源