事件表做游戏逻辑入门
事件表是可视化游戏引擎替掉代码的核心机制:逻辑写成「当……发生,就……」。这篇用三个由浅入深的小例子,把条件、动作、变量、行为串起来,看完就能动手写第一张表。相关阅读:不写代码也能做游戏吗 · 手机做游戏的无代码工具怎么选
一、一张事件表 = 一叠「如果就」卡片
每条事件都长得一样:
条件(什么时候) 动作(就做什么)
───────────── ─────────────
玩家碰到金币 删除金币;得分 +1
计时器大于 60 秒 切换到结算场景
生命变量 ≤ 0 播放失败音效;重开本关
执行顺序从上到下,每帧跑一遍。所谓「做游戏逻辑」,就是在表里不断添加这样的卡片。GDevelop 的编辑器把条件和动作都做成了下拉选择 + 数值框,不存在的「手写语法错误」。
二、第一个例子:吃金币加分
拆成三步:
- 场景里放一个文本对象,摆到角落,用来显示得分;
- 事件表里建一个场景变量
得分,初始 0; - 添加事件:条件「玩家 与 金币 碰撞」→ 动作「删除 金币」「修改变量 得分 加 1」;
- 再加一条:条件留空(每帧执行)→ 动作「修改文本对象的文字」,内容写表达式
Variable(得分)。
第二条事件就是新手的关键一课:变量存数值,文本对象负责显示,两者靠表达式连起来。生命值、弹药数、倒计时,全是同一套做法。
三、第二个例子:敌人在两点间巡逻
不写循环,用「路径移动」行为:
- 给敌人对象挂路径移动行为,点两个途经点,勾选「循环」;
- 想让它碰到玩家后掉头?再加一条事件:条件「敌人 与 玩家 碰撞」→ 动作「反转路径方向」。
行为(Behavior)是引擎预置的迷你逻辑包:平台跳跃、拖动、物理、生命系统……给对象挂上就有。原则是能用行为就不用手搭事件,行为参数都是调好的。
四、第三个例子:按下按钮才开门
多对象联动的最小模型:
- 场景放「开关」和「门」两个对象;
- 事件:条件「玩家 与 开关 碰撞」→ 动作「删除 开关」「删除 门」。
想做成「踩上去开门、离开就关门」?把「删除」换成改一个 门开 变量,再用两条事件按变量值控制门的显示与碰撞。到这里,条件、动作、变量、行为四样你就都用过一遍了——它们是事件表的全部积木。
五、练习去哪找
GDevelop 内置 200 多个按类型分好的完整示例(平台跳跃、射击、解谜都有),每个都是现成的事件表教材:打开示例 → 点开事件表 → 对照着读「它用什么条件触发了什么动作」,比自己空想快得多。
手机端装好后同样能看示例、改事件表,GDevelop 手机版介绍站有界面截图与安卓安装包入口。练完本篇的三个例子,接着读不写代码也能做游戏吗里的三个新手坑,避开它们能省下大把试错时间。