Skip to content

8. 增强道具

系列

你正在阅读太空射手教程第 8 部分

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

提示 在本章中,我们将学习如何向游戏中添加两种不同的增强道具。

添加增强道具

我们将添加两个对象,分别为 “PowerupHealth”“PowerupShield”。为健康对象选择资产文件夹中的 “powerup_health.png” 图像。重复相同的过程为护盾对象选择 “powerup_shield.png” 图像。最后,你将看到:

然后创建一个名为 “Powerups” 的对象组。

播放器动画

当玩家与 PowerupShield 碰撞时,我们使用动画来更改玩家的精灵。打开玩家的属性面板,并在动画#0中输入 “PlayerIdle”。然后添加一个名为 “PlayerShield” 的新动画,并从资产文件夹中选择 “player_shield.png”

为玩家提供额外生命值

准备打开 “事件” 页。我们将添加一个新条件来检查 PlayerPowerupHealth 对象之间的碰撞。如果发生碰撞,我们希望 将玩家的生命值增加 30,并删除增强道具对象,因为我们不再需要它。

提示 你可以添加评论来分类你的事件。

现在,我们将为护盾对象使用一个新场景变量。创建一个名为 “PowerupShield” 的新场景变量,以防止在使用此增强道具时受到任何伤害。将 0 设置为默认值。

转到 “IsDamaged” 条件,并添加一个新条件来检查 “PowerupShield” 变量是否 等于 0

提示 我们将使用此条件来防止在使用增强道具时受伤。

最后,你将看到:

创建一个用于检测 PlayerPowerupShield 对象之间碰撞的新条件。然后,添加一个动作来更改玩家的动画。选择 Player,并选择 “Change the animation (by name)” 并在名称字段中输入 “PlayerShield”

然后,添加一些进一步的动作来 将“PowerupShield”设置为 1删除“PowerupShield” 对象,并重置名为“PowerupShield”的计时器。最终,你的事件应如下所示:

提示 我们将在接下来的步骤中使用此计时器来确定增强道具的使用情况。

添加一个新条件来检查 “PowerupShield” 变量是否等于 1。然后,添加一个子事件来检查 名为“PowerupShield”的计时器是否大于 5 秒

最后,我们将将 “PowerupShield”“IsDamaged” 变量设置为 0,并将玩家的动画更改为 “PlayerIdle”。我们还需要重置名为 “PowerupShield” 的计时器。最终,你的事件应如下所示:

测试

在测试增强道具之前,我们应该像以前一样更改增强道具对象的缩放比例。选择 Powerups object group 并将缩放因子设置为 1.5

然后,在场景视图中拖放增强道具对象到场景中。我们准备运行游戏。现在,你可以在场景上看到增强道具。如果你收集 health 的增强道具,玩家的生命值将增加 30。如果你收集 shield 的增强道具,玩家的精灵将更改,而在 5 秒内不会受到伤害。

下一步

太空射击游戏,第9部分