- 敌人机制 ===================
系列
您正在阅读太空射手教程的第6部分。
- 太空射手,第1部分
- 太空射手,第2部分
- 太空射手,第3部分
- 太空射手,第4部分
- 太空射手,第5部分
- 太空射手,第6部分
- 太空射手,第7部分
- 太空射手,第8部分
- 太空射手,第9部分
- 太空射手,第10部分
- 太空射手,第11部分
- 太空射手,第12部分
- 太空射手,第13部分
提示
在本章中,我们将学习如何为敌人添加不同的机制。
向玩家射击
我们将添加一个新的子弹对象,并赋予Enemy2射击能力,使我们的敌人也能向玩家射击。添加一个名为**"BulletEnemy"的新对象,并从资源文件夹中选择laser_enemy.png**作为图片。
然后,给这个对象添加当离开屏幕时销毁行为。最终,您应该看到:
我们需要给Enemy2火力。因此,按照相同步骤为Enemy2添加发射子弹行为。
现在,我们准备准备我们的条件和操作。打开事件页面,复制粘贴我们确定敌人位置的条件。然后,将其拖放到原始条件的下方,使其成为一个子事件中的条件。
提示
通过这样做,只有在第一个条件满足时才会检查内部条件。
在新条件中,将Camera.X()+450改为Camera.X()+150
然后,在原始条件下的子事件条件中创建一个新条件,检查场景计时器的值。将秒数填入 1,将计时器名称填入 EnemyFire。
现在,我们希望Enemy2射击Player。因此,我们将添加一个新动作来发射子弹。
然后,我们必须重置计时器以防止意外问题。最终,您应该看到:
被子弹击中时受到伤害
现在,我们的Enemy2可以向玩家发射子弹。但是,我们尚未定义被这些子弹射中的效果。我们将添加一个新条件来检查Player和BulletEnemy之间的碰撞。请选择该事件并复制粘贴它。您需要将碰撞对象更改为BulletEnemy,并将IsDamaged值更改为30。最后,将删除Enemies更改为删除BulletEnemy对象。
您的动作应该看起来像这样:
将敌人移动到屏幕中央
我们将为Enemy3添加一个新机制,将敌人移动到屏幕中央。首先,我们需要Enemy3的位置。因此,我们将创建一些条件来使移动更加顺畅。在子事件中创建一个新条件(Camera.X()+150)。选择Enemy3,比较Y位置,并检查值是否大于或等于300。
提示
我们将使用相同的条件四次,因此不必重复编写每个条件,只需像下面这样复制粘贴条件并修改它们。
最终,您将拥有:
我们准备将这些条件添加到运动中。使用Enemies运动动作并修改它,以使用角度**-90和速度为300移动Enemy3**。
对下面的条件重复相同的过程。只需将角度更改为90。最终,您应该看到:
测试
现在我们准备玩我们的游戏。点击运行按钮。
提示
如果您想玩得更久,可以在场景中放置新的敌人对象。