GDevelop 中文文档 下载 App

条件与动作怎么组合才不出错

事件表入门后,真正决定「逻辑对不对」的是条件与动作的组合方式。这页只讲组合规则与典型坑。

规则一:条件筛选实例,动作作用于筛选结果

条件不只是「判断真假」,还在筛选对象实例:

同一事件里条件越多,筛选越严。这是整套事件系统的底层规则,理解它,大部分「为什么动作做多了/做漏了」的问题都能自己解释。

规则二:多条件是「且」的关系

一条事件里的多个条件必须同时成立才触发:

条件 1:Player 与 GoldCoin 碰撞
条件 2:变量 Score 大于 9
动作:切换到 Bonus 场景

= 分数超过 9 且正在碰金币时才进奖励关。要「或」的关系,就写成两条独立事件(各自带相同动作),或用子事件分组。

反向条件与触发型条件

常见组合错误速查

症状多半是
碰撞扣血瞬间清空少加了「触发一次」
动作影响了全场同类对象条件没把实例筛选出来,动作写在了无条件事件里
数值每帧暴涨无条件事件里持续加值,没用 TimeDelta 或计时器
事件「有时不触发」前面的事件已把对象删除/移动,后面的条件自然不成立(执行顺序问题)
子事件没执行父事件条件没全满足

参数里的表达式

动作的参数不只能填常数,还能填表达式:Player.X() + 100、Random(360)、Variable(Score) * 2。表达式里可以直接写变量名与函数,是事件系统里「算数」的地方。常用表达式在编辑器里有自动补全,不确定写法就点参数框旁的图标打开表达式编辑器查。