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

创游世界触发时机完全指南

一句话摘要

创游世界脚本触发时机的完整指南,涵盖所有触发时机的分类、用途、配合组件、使用场景和常见问题,帮助理解脚本「什么时候会执行」。

适合谁阅读

  • 不理解触发时机作用的新手
  • 想知道有哪些触发时机可以用的创作者
  • 需要查找特定触发时机用法的开发者

你将学到什么

  • 触发时机的基本概念
  • 所有触发时机的分类
  • 每个触发时机需要什么组件
  • 触发时机的使用场景
  • 触发时机的常见问题

核心结论

  1. 触发时机 = 脚本的「入口」:没有触发时机,积木块永远不会执行
  2. 触发时机决定「什么时候执行」:开始时=加载时,点击时=被点击时,碰撞时=碰撞时
  3. 触发时机需要配合组件:某些触发时机必须配合特定组件才能生效

触发时机分类总览

分类触发时机触发条件需要的组件
启动类当开始时地图加载时
输入类当点击时物体被点击可互动组件
当碰撞时物体发生碰撞物理组件
当接近时物体靠近时可互动组件
事件类当广播时收到广播消息
当属性改变时属性值变化
当定时器到期时定时器触发
战斗类当生命值改变时生命值变化生命组件
当死亡时生命值归零生命组件
当发射子弹时子弹发射子弹组件
当子弹击中时子弹命中子弹组件
物理类当受力时物体受到力物理组件
当停止时物体停止移动物理组件
UI类当UI点击时UI元素被点击
当UI显示时UI被显示
当UI隐藏时UI被隐藏
联机类当玩家加入时玩家加入游戏
当玩家离开时玩家离开游戏

一、启动类触发时机

1.1 当开始时

触发条件:地图加载完成时

需要的组件:无

典型用途

  • 初始化变量
  • 显示欢迎提示
  • 设置初始UI
  • 预加载资源

示例

当 开始时
  设置玩家变量1 为 100
  显示 "欢迎来到游戏" 在 开始UI上
  广播 "初始化完成"

注意

  • 切换地图后重新触发(地图重新加载)
  • 适合放初始化逻辑,不要放游戏逻辑

二、输入类触发时机

2.1 当点击时

触发条件:玩家点击带有「可互动组件」的物体

需要的组件:可互动组件

典型用途

  • NPC对话
  • 宝箱开启
  • 按钮触发
  • 商店入口

示例

当 点击时
  显示 对话框UI
  设置对话框文字为 "你好,我是NPC"

注意

  • 物体必须有「可互动组件」
  • 点击范围可以通过组件参数调整

2.2 当碰撞时

触发条件:两个有物理组件的物体发生碰撞

需要的组件:物理组件(双方都需要)

典型用途

  • 踩到陷阱扣血
  • 捡到道具
  • 到达传送点
  • 触发机关

示例

当 碰撞时
  如果 碰撞对象 是 道具 那么
    设置玩家变量1 为 玩家变量1 + 1
    销毁 当前物体
    广播 "刷新道具UI"
  结束

注意

  • 双方物体都需要有物理组件
  • 物理组件的「是否可碰撞」要开启
  • 碰撞触发时机可能多次触发,需要加条件判断

2.3 当接近时

触发条件:玩家接近带有「可互动组件」的物体

需要的组件:可互动组件

典型用途

  • 靠近自动触发
  • 区域检测
  • 自动对话

示例

当 接近时
  显示 "按点击键进行交互" 在 提示UI上

注意

  • 需要物体有「可互动组件」
  • 接近范围可以通过组件参数调整

三、事件类触发时机

3.1 当广播时

触发条件:收到其他物体发送的广播消息

需要的组件:无

典型用途

  • 跨物体通信
  • 解耦不同模块
  • 事件驱动逻辑

示例

当 广播 "刷新UI" 时
  设置金币UI文字为 "金币:" + 玩家变量1

命名建议:使用统一的小写+下划线命名,如 refresh_ui

注意

  • 只在同一地图内有效
  • 广播名建议统一风格

3.2 当属性改变时

触发条件:指定属性值发生变化

需要的组件:无

典型用途

  • 监听变量变化
  • 自动响应状态改变
  • 数据同步

示例

当 属性 玩家变量1 改变时
  广播 "刷新UI"

注意

  • 可以监听任何属性变化
  • 适合做自动响应逻辑

3.3 当定时器到期时

触发条件:定时器设置的时间到达

需要的组件:无

典型用途

  • 延迟执行
  • 定时任务
  • 循环检测

示例

当 定时器到期时
  显示 "时间到!" 在 提示UI上

注意

  • 需要先启动定时器
  • 定时器是一次性的还是循环的取决于配置

四、战斗类触发时机

4.1 当生命值改变时

触发条件:物体的生命值发生变化

需要的组件:生命组件

典型用途

  • 血量变化时更新UI
  • 触发低血量警告
  • 记录伤害

示例

当 生命值改变时
  设置血条UI宽度为 (当前生命 / 最大生命) * 100
  如果 当前生命 < 最大生命 * 0.3 那么
    播放 警告音效
  结束

4.2 当死亡时

触发条件:物体生命值降为0

需要的组件:生命组件

典型用途

  • 怪物死亡奖励
  • 玩家死亡处理
  • 死亡特效

示例

当 死亡时
  播放 死亡特效
  生成 金币 到 当前物体位置
  等待 1 秒
  销毁 当前物体

4.3 当发射子弹时

触发条件:物体发射子弹

需要的组件:子弹组件

典型用途

  • 特殊子弹效果
  • 子弹音效
  • 子弹数量统计

4.4 当子弹击中时

触发条件:子弹命中其他物体

需要的组件:子弹组件

典型用途

  • 命中特效
  • 伤害处理
  • 击杀记录

五、物理类触发时机

5.1 当受力时

触发条件:物体受到外力作用

需要的组件:物理组件

典型用途

  • 被推动检测
  • 爆炸冲击波
  • 被攻击击退

5.2 当停止时

触发条件:物体停止移动

需要的组件:物理组件

典型用途

  • 滑行停止检测
  • 落地检测

六、UI类触发时机

6.1 当UI点击时

触发条件:UI元素被点击

需要的组件:无

典型用途

  • 按钮响应
  • 选项选择
  • 菜单操作

示例

当 UI点击 "开始游戏按钮" 时
  隐藏 开始菜单UI
  显示 游戏UI

6.2 当UI显示时

触发条件:UI被显示

需要的组件:无

典型用途

  • 显示时刷新内容
  • 初始化UI状态

6.3 当UI隐藏时

触发条件:UI被隐藏

需要的组件:无

典型用途

  • 隐藏时清理数据
  • 暂停相关逻辑

七、联机类触发时机

7.1 当玩家加入时

触发条件:玩家加入游戏

需要的组件:无

典型用途

  • 初始化玩家数据
  • 显示欢迎信息
  • 分配队伍

7.2 当玩家离开时

触发条件:玩家离开游戏

需要的组件:无

典型用途

  • 清理玩家数据
  • 重新分配队伍

八、触发时机组合使用

8.1 典型组合:NPC对话

当 点击时
  显示 对话框UI
  设置对话框文字为 "欢迎来到我的商店"

当 UI点击 "继续按钮" 时
  隐藏 对话框UI
  广播 "关闭对话"

8.2 典型组合:道具收集

当 开始时
  设置玩家变量1 为 0

当 碰撞时
  如果 碰撞对象 是 道具 那么
    设置玩家变量1 为 玩家变量1 + 1
    广播 "刷新道具UI"
    销毁 当前物体
  结束

当 广播 "刷新道具UI" 时
  设置道具UI文字为 "道具:" + 玩家变量1

8.3 典型组合:战斗系统

当 生命值改变时
  设置血条宽度为 (当前生命 / 最大生命) * 100

当 死亡时
  播放 死亡特效
  生成 掉落物 到 当前物体位置
  等待 2 秒
  销毁 当前物体

九、常见问题

Q:为什么「当点击时」不触发?

A:检查:

  1. 物体是否有「可互动组件」
  2. 是否在试玩模式
  3. 是否正确点击(不是拖动)

Q:为什么「当碰撞时」不触发?

A:检查:

  1. 双方是否有物理组件
  2. 物理组件的碰撞检测是否开启
  3. 物体是否真的有接触

Q:多个触发时机可以同时存在吗?

A:可以。一个脚本可以有多个触发时机,每个触发时机下的积木块独立执行。


Q:触发时机可以嵌套吗?

A:不建议嵌套触发时机,可能导致逻辑混乱。尽量使用广播解耦。


相关页面


待验证问题

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

问题状态验证方向
某些特殊触发时机的详细参数🔄 待验证需要官方文档确认
触发时机的执行顺序规则🔄 待验证需要实际测试
特定版本中触发时机的变化🔄 待验证需要多版本对比

📝 说明:触发时机核心用法已稳定,进阶内容属于研究范畴。

后续优化方向

  • [ ] 补充每个触发时机的详细参数说明
  • [ ] 增加更多实战组合示例
  • [ ] 整理触发时机优先级规则

参与维护

发现文档问题?

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

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