添加AI

首先我们需要优化的是怪物的AI属性,因为怪物添加的子弹能力,所以怪物会根据对象的角度来确定运动方向,所以我们增加一条事件,设置“场景开始时”条件,设怪物的角度为随机角度。让怪物在场景初始化时运动的方向是随机的。

设置怪物初始运动方向随机角度

添加一条新事件,选择系统,双击选择“场景开始时”条件。选择怪物,双击选择“设置角度”动作,角度设置random(360)。选中事件,按住鼠标左键,把这条事件拖动到事件白表最上方,因为我们希望案例开始时,优先执行此事件。

怪物的初始运动方向设置好了,但怪物还是只会向初始设置的方向运动,运动到场景之外,所以我们另外增加事件,当怪物运动到场景之外时,我们设置怪物的角度朝着玩家的角度移动。

设置怪物出场景外后改变运动方向面向玩家

添加一条新事件,选择怪物,双击选择“在场景外时”条件。选择怪物,双击选择“按位置设置角度”动作,X设置玩家.x,Y设置玩家.y。

设置怪物距离玩家小于1000像素时自动跟踪玩家位置运动

为了让怪物更加智能一点,我们希望当怪物与玩家的距离少于1000像素的时候,设置怪物的角度转向玩家。

添加一条新事件。设置条件,选择系统,双击选择“遍历循环”条件,对象选择怪物。选择系统,双击选择通用下的“比较两值”条件,值1设置distance(玩家.X, 玩家.Y, 怪物.X, 怪物.Y),比较方式选择小于,值2设置1000。
distance()函数作用是输入两个坐标位位置,即可获得两个坐标位置之间的距离。

设置动作,选择怪物,双击选择“朝某位置旋转”动作,角度设置1,X设置玩家.X,Y设置玩家.Y。

设置怪物与玩家碰撞时消灭玩家

添加一条新事件。设置条件,选择怪物,双击选择“与其他对象碰撞时”条件,对象选择玩家。设置动作,选择玩家,双击选择“销毁”动作。

设置每3秒在场景右方随机生成怪物

添加一条新事件。设置条件,选择系统,双击选择“每隔X秒”条件,间隔事件设置3。设置动作,选择系统,双击选择“创建实例”动作。

这样简单的俯角射击游戏就完成了。大家可以使用工具来制作自己的俯角射击游戏。

进阶思考题

1.如何制作怪物血量,设置逻辑当怪物受到三次子弹攻击的时候才会被消灭?
2.设置游戏得分,每消灭一只怪物增加100分?
3.如何设置游戏难度,当越来越多的怪物被消灭时,增加怪物的移动速度?
4.设置重新开始按钮,当怪物碰撞到玩家时游戏结束,舞台弹出重新开始按钮,点击则重新开始游戏?