添加事件

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

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

设置哥布林动画控制

我们添加事件组(动画控制事件组),通过判断哥布林的平台跳跃的各种状态条件,更改哥布林的播放动画。点击“+分组”按钮,命名动画控制。

选中动画控制事件组,点击“+事件”按钮,在动画控制事件组下新建一条事件。设置条件,在舞台或对象库选择哥布林,双击选择“状态切换瞬间”条件,


选择“开始运动时”状态,

这个条件会判断当哥布林在平台上发生运动时触发。

设置动作,在舞台或对象库选择哥布林,双击选择“设置动画”动作,动画设置“走路哥布林”,开始点选择开头。

继续添加一条新事件,设置哥布林停止运动时将哥布林动画设置为待机哥布林,同样“状态切换瞬间”条件,


选择“停止运动时”状态,

这个条件会判断哥布林没有运动时触发。动作选择“设置动画”,动画设置“待机哥布林”,开始点选择当前帧。

继续添加一条新事件,设置哥布林跳起时将哥布林动画设置为跳跃哥布林,条件选择“跳起时”,这个条件会判断哥布林跳起时触发。动作选择“设置动画”,动画设置“跳跃哥布林”,开始点选择当前帧。

继续添加一条新事件,设置哥布林着陆时将哥布林动画设置为待机哥布林,条件选择“状态切换瞬间”条件,


状态是“着陆时”,

这个条件会判断哥布林跳起后着陆到平台上时触发。动作选择“设置动画”,动画设置“待机哥布林”,开始点选择当前帧。

继续添加一条新事件,哥布林正在移动时并且在平台上将哥布林动画设置为走路哥布林,条件选择“某运动状态中”

状态“正在移动时”和“在平台上时”,

这是一个组合条件,即判断哥布林正在移动时,平且在平台上时触发。动作选择“设置动画”,动画设置“走路哥布林”,开始点选择开头。

整个动画控制事件组如下图所示。

这时候我们预览看一下,当哥布林移动时,跳跃时,停止移动时分别会播放我们通过事件表设置的动画效果了。

设置哥布林碰撞敌人游戏失败

通过事件设置当哥布林与板栗仔碰撞时,播放死亡哥布林动画,禁用动画控制组,让哥布林无视用户操作。点击“+事件”按钮,添加一条新的事件。

设置条件,选择哥布林,右方切换到哥布林(条件与动作框),双击选择“与其他对象碰撞时”条件。

设置动作,选择哥布林,右方切换到哥布林(条件与动作框),双击选择“设置动画”动作,动画设置“死亡哥布林”。双击选择“无视操作”动作。操作选择开始无视。选择系统,右方切换到系统(条件与动作框),双击选择“启用或禁用事件组 ”动作。

点击“+事件”按钮,添加一条新的事件。选择哥布林,右方切换哥布林(条件与动作框),双击选择“动画结束时”,动画设置“死亡哥布林”。

设置动作,选择系统,右方切换到系统(条件与动作框),双击选择“重启当前场景”动作。

设置哥布掉落到场景之外时重启场景

一般平台跳跃游戏的判断,主角掉落到场景之外时视为游戏失败。点击“+事件”按钮,添加一条新的事件。选择哥布林,右方切换哥布林(条件与动作框),双击选择“比较Y坐标”条件。比较方式选择大于,Y坐标设置1300.

设置动作,选择系统,右方切换到系统(条件与动作框),双击选择“重启当前场景”动作。

这样简单的平台跳跃游戏就完成了。大家可以使用工具来制作自己的平台跳跃游戏。

进阶思考题

1.如何制作板栗仔移动,做一个简单的AI,让板栗仔在一定范围内左右走动?
2.现在设置哥布林与板栗仔一碰撞时就让哥布林死亡,我们希望如果哥布林时从上方与板栗仔碰撞时,应该让板栗仔死亡?