GDevelop 中文文档 下载 App

自定义行为与事件函数:逻辑打包复用

事件写多了必然遇到两类重复:同一套逻辑在十处复制粘贴;事件表长到滚动三屏找不着北。解法是官方提供的两个封装层:事件函数和自定义行为。

事件函数:带参数的事件块

在扩展编辑器里新建扩展 → 添加「事件函数」,然后像写普通事件一样写逻辑,区别是可以定义参数(对象、数字、文本都行):

官方帮助文档中创建事件函数的界面
创建函数:命名、参数与描述
官方帮助文档中使用对象参数的函数事件
对象参数函数:对传入对象执行封装逻辑

典型封装对象:伤害结算、金币掉落、存档读写、屏幕震动。一处修改,全项目生效。

自定义行为:把逻辑挂到对象上

自定义行为更进一步——封装后的逻辑以「行为」形态出现在对象的行为列表里,还能带属性(行为参数,在编辑器里可视化调整):

  1. 扩展编辑器新建「自定义行为」,绑定目标对象类型;
  2. 把该对象的事件逻辑搬进行为内部(行为内可用行为属性当配置);
  3. 任何对象挂上这个行为,逻辑自动生效,属性在面板里改。

官方文档的建议很明确:项目变大后,给每类对象做自己的行为,让游戏保持模块化——角色行为、敌人行为、机关行为各管各的,主事件表只剩调用与编排。

扩展的分享与复用

什么时候该动手封装

三个信号:同一段逻辑复制到第三处;事件表需要靠组+注释才能找到东西;多场景要用同一套机制。满足任意一条,就把对应逻辑抽成函数或行为——比事后重构便宜得多。