事件表入门:写下第一条游戏规则
场景编辑器旁边的事件编辑器(事件表)是游戏逻辑的老家。这一页把「第一条事件」的完整操作走一遍。
打开事件表
项目面板里每个场景都带一张事件表:点场景旁的事件图标,或从场景编辑器顶部切换。事件表与场景一一对应——场景 1 的事件只管场景 1 的事,跨场景的逻辑(如全局计时)用全局变量配合各场景事件实现。
新建一条事件
- 在事件表空白处点「+」或右键选「添加标准事件」;
- 左侧点「添加条件」,从列表里挑(条件按对象分组,选对象后出现该对象相关的全部条件);
- 右侧点「添加动作」,同样从列表挑,参数用表单填;
- 想在某条事件成立后继续细分逻辑,选中它点「添加子事件」——子事件嵌在父事件下方,只有父事件条件全部成立时才会被检查。
第一条完整事件
目标:玩家碰到金币,金币消失,分数加一。
条件:Player 与 GoldCoin 碰撞
动作 1:删除 GoldCoin
动作 2:把场景变量 Score 加 1
跑预览(详见 预览与热重载:改完立刻看到效果),操作角色撞金币验证。
事件类型一览
右键新建事件时能看到全部类型,常用的几种:
| 类型 | 用途 |
|---|---|
| 标准事件 | 条件成立就执行,最常用 |
| Else 事件 | 配合上一条,条件不成立时的分支 |
| 对每个对象事件 | 把一批实例逐个处理一遍 |
| 重复事件 | 指定次数重复执行动作 |
| While 事件 | 条件成立期间反复执行 |
| 组事件 | 纯注释分组,折叠整理事件表 |
| 链接事件 | 引用别处的事件块,避免复制粘贴 |
| JavaScript 事件 | 事件表里写 JS 代码 |
循环与子事件的细节展开在 子事件重复与循环:批量处理对象。
组织事件表
事件多了以后:用组事件按功能分段(「敌人逻辑」「计分系统」),用注释(每条事件上方可加灰色注释行)标明意图,用链接事件把复用逻辑抽出去。事件表是从上到下逐条执行的,顺序本身就是逻辑的一部分——调试时先检查执行顺序。
- 下一页:条件与动作怎么组合才不出错
- 相关:事件系统原理