GDevelop 中文文档 下载 App

子事件重复与循环:批量处理对象

一条事件处理一个逻辑,批量逻辑交给循环类事件,嵌套逻辑交给子事件。这两样是事件表的「缩进」。

子事件:条件成立后再细分

子事件挂在父事件下方,只有父事件条件全部成立时才被检查:

父:玩家血量 小于等于 0
    子 1:延迟计时器大于 2 秒 → 切换到 GameOver 场景
    子 2:每帧 → 屏幕变暗特效加深

玩家死亡后,两条子逻辑才开始各自运转。层级没有硬限制,但嵌套超过两层就该考虑抽成事件函数了(见 自定义行为与事件函数)。

对每个对象事件:逐个实例处理

普通事件对「筛出来的一批实例」执行同一动作;但对每个对象事件把这批实例一个一个拿出来,逐个跑完整段逻辑——需要「互相比较」或「按序处理」时必须用它:

对每个 Enemy:
    子:Enemy 与 Player 距离小于 80 → 触发该 Enemy 攻击

重复事件:固定次数

「重复 10 次:在随机位置生成一个金币」。次数可以是表达式(Variable(GoldCount))。配合 Random() 表达式是生成波次、铺道具的常用组合。

While 事件:条件成立期间反复

条件成立就一直循环执行动作,直到条件不成立。注意循环体里必须有机会让条件变假(比如每次减 1),否则游戏卡死在无限循环里。新手少用,能用重复或对每个对象替代就替代。

对每个子变量事件

遍历结构或数组变量的每个子项——读存档里的背包列表逐个生成物品、遍历排行榜分数逐行渲染,都用它。它与「对每个对象事件」的区别:一个遍历数据,一个遍历实例。

链接事件与组