Skip to content

5. 敌人

系列

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

  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部分

提示

在这一章中,我们将学习如何向游戏中添加敌人。

创建敌人

我们将添加三种不同类型的敌人。因此,您应该按照相同的步骤添加敌人。单击添加新对象,然后选择精灵。然后,在名称字段中输入**“Enemy1”,从资产文件夹中选择“enemy1.png”**作为图像。单击应用。

重复这个步骤以添加所有三种敌人。

最后,您应该看到:

我们现在将创建一个名为**“Enemies”**的对象组。这在事件中将很有用,可以引用组中的所有对象,而不必为每个对象重复事件。

提示

阅读此页面以了解有关对象组的更多信息。

单击右上角的对象组编辑器按钮。然后,单击添加新组,一个接一个地添加敌人对象。

最后,将对象组重命名为**“Enemies”**。

为敌人添加生命值

我们使用与玩家相同的生命值行为。编辑Enemy1对象并添加Health行为。

警告

每个敌人对象重复此步骤。

然后,打开Enemy1的行为页面,保持不变:Health: 100, 最大生命值: 100

打开Enemy2的行为页面,并将Health最大生命值更改为50

打开Enemy3的行为页面,并将Health最大生命值更改为150

射击敌人

我们将添加几个动作来射击敌人。首先,打开事件选项卡。然后,添加一个新条件,选择我们之前创建的Enemies对象组。将动作选择为碰撞,将对象选择为Bullet;通过这样做,我们可以跟踪子弹对象和敌人之间的碰撞。

如果发生子弹和敌人之间的碰撞,我们需要移除Bullet对象。因此,在前一个条件的旁边添加一个新动作。选择Bullet对象并选择删除对象

现在,我们需要对敌人造成伤害。选择Enemies并选择对对象造成伤害。然后,输入50作为伤害值。

您应该看到这些动作:

然后,我们需要添加一个额外的条件来确定敌人是否死亡。在最后一个条件下添加一个新事件。选择Enemies作为对象,并选择死亡。现在我们可以跟踪敌人的生命值是否已死亡。

如果敌人死亡,我们应该删除场景中的对象。我们将添加一个新动作来删除对象,就像在先前的步骤中一样。

最后,我们需要为敌人提供移动力。但是,当它们在相机上时,我们应该提供一个力量。因此,我们将添加一个新条件来执行我们的想法。在此条件中,当Enemies的X位置小于中心相机X位置+450时,我们查看。确保在测试的符号中选择少于或等于

警告

您可能会问为什么我们使用450,因为它是屏幕宽度的一半。请记住,我们的宽度设置为900。如果您使用任何其他分辨率,您需要更改它。

在事件的动作中,我们将给敌人一个力量,就像我们在之前的步骤中所做的那样。确保角度为180度速度为每秒200像素,并选择瞬间选项。

现在所有的事件都准备好了来射击敌人。你可以在顶部添加一个注释来对这些动作进行分类。

对玩家造成伤害

我们将添加一个新的条件来确定玩家敌人之间的碰撞。按照以上步骤进行操作。

这一次,我们不会直接给玩家造成伤害,因为会有不同的伤害玩家的情况。因此,我们将使用场景变量

提示

场景变量很有用,因为它们在场景开始时创建,当场景结束时它们将被销毁。

现在,创建一个动作并在搜索栏中输入**"变量"。然后,选择场景变量的值并单击动作详细信息旁边的按钮。在弹出窗口中,创建一个名为"IsDamaged"的场景变量,并给它的初始值0**。然后点击应用

然后,选择IsDamaged作为变量,并将场景变量的值更改为40

像上面那样为敌人添加删除动作。然后,你的动作看起来像下面的图片。

添加一个新的条件来检查IsDamaged是否大于等于1。如果条件满足,我们将对玩家造成伤害。

然后,添加一个新的动作来伤害玩家。我们之前做过相同的操作,但这次输入**"IsDamaged."**的值。

提示

要输入变量的值,请点击输入区域旁边的数字图标。然后选择变量场景变量的值。会弹出一个新窗口,你可以在其中选择我们的变量。

我们还需要将IsDamaged重置为0,因为这将防止我们的玩家受到额外的伤害。在前面的动作下面添加一个新动作,并将IsDamaged设置为0。

重新开始游戏

当玩家死亡时,游戏结束。添加一个新的条件来检查玩家是否死亡。然后,添加一个动作来重新开始游戏。在搜索栏中输入**"场景",并选择更改场景**。只需选择**"基础场景"**或你的场景名称。

对于这一章节,玩家的动作已经准备好了。

小敌人

我们已经让玩家变小了,但我们没有给敌人变小。请复制并粘贴相同的动作来使敌人变小,将玩家改为敌人

这应该是事件的最终版本

测试新的机制

在测试新机制之前,我们需要在场景中放置一些敌人。拖动一些敌人并将它们放置在横向与场景相同水平的不同位置。

现在,我们已经准备好玩我们的游戏了。我们可以射击敌人,玩家也会因为与敌人碰撞而受伤。

下一步

Space Shooter,第6部分