Skip to content
  1. 敌人机制 ===================

系列

您正在阅读太空射手教程第6部分

  1. 太空射手,第1部分
  2. 太空射手,第2部分
  3. 太空射手,第3部分
  4. 太空射手,第4部分
  5. 太空射手,第5部分
  6. 太空射手,第6部分
  7. 太空射手,第7部分
  8. 太空射手,第8部分
  9. 太空射手,第9部分
  10. 太空射手,第10部分
  11. 太空射手,第11部分
  12. 太空射手,第12部分
  13. 太空射手,第13部分

提示

在本章中,我们将学习如何为敌人添加不同的机制。

向玩家射击

我们将添加一个新的子弹对象,并赋予Enemy2射击能力,使我们的敌人也能向玩家射击。添加一个名为**"BulletEnemy"的新对象,并从资源文件夹中选择laser_enemy.png**作为图片。

然后,给这个对象添加当离开屏幕时销毁行为。最终,您应该看到:

我们需要给Enemy2火力。因此,按照相同步骤为Enemy2添加发射子弹行为。

现在,我们准备准备我们的条件和操作。打开事件页面,复制粘贴我们确定敌人位置的条件。然后,将其拖放到原始条件的下方,使其成为一个子事件中的条件

提示

通过这样做,只有在第一个条件满足时才会检查内部条件。

在新条件中,将Camera.X()+450改为Camera.X()+150

然后,在原始条件下的子事件条件中创建一个新条件,检查场景计时器的值。将秒数填入 1,将计时器名称填入 EnemyFire

现在,我们希望Enemy2射击Player。因此,我们将添加一个新动作来发射子弹。

然后,我们必须重置计时器以防止意外问题。最终,您应该看到:

被子弹击中时受到伤害

现在,我们的Enemy2可以向玩家发射子弹。但是,我们尚未定义被这些子弹射中的效果。我们将添加一个新条件来检查PlayerBulletEnemy之间的碰撞。请选择该事件复制粘贴它。您需要将碰撞对象更改为BulletEnemy,并将IsDamaged值更改为30。最后,将删除Enemies更改为删除BulletEnemy对象。

您的动作应该看起来像这样:

将敌人移动到屏幕中央

我们将为Enemy3添加一个新机制,将敌人移动到屏幕中央。首先,我们需要Enemy3的位置。因此,我们将创建一些条件来使移动更加顺畅。在子事件中创建一个新条件(Camera.X()+150)。选择Enemy3比较Y位置,并检查值是否大于或等于300

提示

我们将使用相同的条件四次,因此不必重复编写每个条件,只需像下面这样复制粘贴条件修改它们

最终,您将拥有:

我们准备将这些条件添加到运动中。使用Enemies运动动作并修改它,以使用角度**-90和速度为300移动Enemy3**。

对下面的条件重复相同的过程。只需将角度更改为90。最终,您应该看到:

测试

现在我们准备玩我们的游戏。点击运行按钮。

提示

如果您想玩得更久,可以在场景中放置新的敌人对象。

接下来

Space Shooter, Part 7