添加敌人事件

接下来我们使用唤境Evkworld的可视化编程方法:事件系统,来添加我们项目的游戏逻辑。

下面先简单介绍一下事件表:编辑器每一帧会检测一次事件表里的所有事件,然后选中所有条件符合当前游戏状态的事件,执行该条事件的动作;然后更新游戏状态(包括内部逻辑及屏幕表现)。事件表的执行顺序是从上到下,所以最上面的事件会优先执行。

添加事件组

为了方便我们管理事件表,我们建立敌人事件组,将有关敌人的事件都放进事件组里。点击“+分组”新建一个事件组,命名为敌人事件组。

设置场景初始化时敌人寻找路径

选中敌人事件组,点击“+事件”,在敌人事件组里添加一条新事件。

设置条件,选中事件表上方的系统或在抽象对象库选中系统,右方切换系统(条件与动作框),双击选择“当场景开始时”条件。

设置动作,在舞台选中敌人或对象库选中敌人,右方切换敌人(条件与动作框),双击选择“寻找路径”动作。X设置终点.x,Y设置终点.y。

设置路径寻找成功让敌人沿寻找的路径自动移动

当路径寻找成功后,我们就让敌人自动沿着寻找的路径自动移动到终点。选中敌人事件组,点击“+事件”,在敌人事件组里添加一条新事件。

设置条件,在舞台选中敌人或对象库选中敌人,右方切换敌人(条件与动作框),双击选择“寻路成功时”条件。

设置动作,在舞台选中敌人或对象库选中敌人,右方切换敌人(条件与动作框),双击选择“沿路径移动”动作。

这时候我们预览一下,敌人在场景初始化的时候就会自动寻路,然后寻路成功时,就会自动绕过墙走向终点(红色方框的X,Y坐标)。我们可以在舞台上更改敌人的位置,然后看看敌人在不同位置的寻路效果。

设置每隔1秒在随机生成点生成敌人

选中敌人事件组,点击“+事件”,新增一条事件。

设置条件,选中事件表上方的系统或在抽象对象库选中系统,右方切换系统(条件与动作框),双击选择“每隔X秒”条件。间隔时间设置1.

设置动作,选中事件表上方的系统或在抽象对象库选中系统,右方切换系统(条件与动作框),双击选择“设置值”动作。值设置round(random(1,4))。round(random(1,4)) 这是一个系统内置的函数组合,作用是生成1-4的随机整数,用于下方设置根据生成的随机数不同,在不同位置生成敌人。

选中刚设置的事件,选中效果如下图所示。点击“+子事件”为本条事件添加子事件。

设置条件,选中事件表上方的系统或在抽象对象库选中系统,右方切换系统(条件与动作框),双击选择全局变量与局部变量下的“比较两值”条件。变量名选择随机开始,比较方式选择等于,值设置1。

设置动作,选中事件表上方的系统或在抽象对象库选中系统,右方切换系统(条件与动作框),双击选择“创建实例”动作。创建的实例对象选择敌人,图层组设置“敌人”,X坐标设置开始点1.x,Y坐标设置开始点1.y。

再多设置一个动作,在舞台选中敌人或对象库选中敌人,右方切换敌人(条件与动作框),双击选择“寻找路径”动作。X设置终点.x,Y设置终点.y。这个动作作用是让新创建的敌人去寻找路径。因为我们之前已经设置了寻路成功的事件,所以当敌人在出生点创建后就会自动走向终点。

重复上方步骤,新建另外三个子事件,分别设置随机开始等于2,3,4.在不同的生成点生成敌人,并寻找路径。

整个完整事件设置如下图所示。

我们预览看一下,这时候每隔1秒,就会随机生成一个敌人。这样敌人系统已经做好了,接下来我们制作第二个部分。请看下节,添加炮塔图像~