8. 增强道具
系列
你正在阅读太空射手教程的第 8 部分。
- 太空射手,第 1 部分
- 太空射手,第 2 部分
- 太空射手,第 3 部分
- 太空射手,第 4 部分
- 太空射手,第 5 部分
- 太空射手,第 6 部分
- 太空射手,第 7 部分
- 太空射手,第 8 部分
- 太空射手,第 9 部分
- 太空射手,第 10 部分
- 太空射手,第 11 部分
- 太空射手,第 12 部分
- 太空射手,第 13 部分
提示 在本章中,我们将学习如何向游戏中添加两种不同的增强道具。
添加增强道具
我们将添加两个对象,分别为 “PowerupHealth” 和 “PowerupShield”。为健康对象选择资产文件夹中的 “powerup_health.png” 图像。重复相同的过程为护盾对象选择 “powerup_shield.png” 图像。最后,你将看到:
然后创建一个名为 “Powerups” 的对象组。
播放器动画
当玩家与 PowerupShield 碰撞时,我们使用动画来更改玩家的精灵。打开玩家的属性面板,并在动画#0中输入 “PlayerIdle”。然后添加一个名为 “PlayerShield” 的新动画,并从资产文件夹中选择 “player_shield.png”。
为玩家提供额外生命值
准备打开 “事件” 页。我们将添加一个新条件来检查 Player 和 PowerupHealth 对象之间的碰撞。如果发生碰撞,我们希望 将玩家的生命值增加 30,并删除增强道具对象,因为我们不再需要它。
提示 你可以添加评论来分类你的事件。
现在,我们将为护盾对象使用一个新场景变量。创建一个名为 “PowerupShield” 的新场景变量,以防止在使用此增强道具时受到任何伤害。将 0 设置为默认值。
转到 “IsDamaged” 条件,并添加一个新条件来检查 “PowerupShield” 变量是否 等于 0。
提示 我们将使用此条件来防止在使用增强道具时受伤。
最后,你将看到:
创建一个用于检测 Player 和 PowerupShield 对象之间碰撞的新条件。然后,添加一个动作来更改玩家的动画。选择 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 秒内不会受到伤害。