9. 用户界面(UI)
系列
您正在阅读Space Shooter Tutorial的第9部分。
- 太空射击游戏,第1部分
- 太空射击游戏,第2部分
- 太空射击游戏,第3部分
- 太空射击游戏,第4部分
- 太空射击游戏,第5部分
- 太空射击游戏,第6部分
- 太空射击游戏,第7部分
- 太空射击游戏,第8部分
- 太空射击游戏,第9部分
- 太空射击游戏,第10部分
- 太空射击游戏,第11部分
- 太空射击游戏,第12部分
- 太空射击游戏,第13部分
提示
在本章中,我们将学习如何向游戏添加UI元素(文本)。
添加UI元素
我们将添加两个文本对象,以指示玩家的健康状况和游戏的得分。首先,创建一个新对象,在弹出菜单中选择文本。将对象重命名为**“得分”,在文本字段中输入“得分:0”。然后,从资产文件夹中添加一个名为“Kenney Future Narrow.tff”**的自定义字体。
我们将使用黄色作为得分文本的颜色,但您可以选择任何颜色。
现在,我们将重复相同的过程,添加一个文本以显示玩家的健康状况。确保对象的名称为**“健康”**,并且字体与上一步相同。您的设置应如下所示:
最后,您可以在其他对象下看到您的两个文本对象。
您可以将文本对象拖放到场景中。
我们将得分放在左上角,而健康放在左下角的位置。
定位文本对象
我们将使用一个新图层来定位这些对象,以便它们始终可见且保持在屏幕上的同一位置。创建一个名为UI的新图层,并将此图层放在列表的顶部。
提示
如果您忘记了如何添加图层,可以查看这个章节。
然后,我们应该选择场景上的文本对象,并从右上角的图标打开属性面板。更改其图层为UI。通过将这些对象放在UI图层上,它们将始终显示在其他游戏对象(位于基本图层上)的顶部,并且即使将基本图层的相机移动时,它们也会始终可见在屏幕上。
更新文本对象的值
我们准备打开**“事件”页面。我们将创建一个名为“得分”的新场景变量,初始值为0**。然后,添加一个随时间改变分数的动作。我们将使用TimeDelta函数来根据时间改变分数。
警告
确保您选择了**+**作为修改符号。
玩家消灭敌人时,也可以增加玩家的得分。因此,我们将在敌人死亡条件下添加一个增加分数100的动作。
然后,我们准备更新文本对象的得分。添加一个新动作,选择得分文本对象。然后选择修改文本,并键入**“得分”+ VariableString(Score)**。您应该看到这些动作:
警告
确保修改符号设置为s=。
我们将添加最后一个动作来修改健康文本。在这里,我们将利用GDevelop的自动补全功能:选择健康文本,选择修改文本。将值填充为**“健康:”+ LargeNumberToString(Player.Health::Health())**。
提示
您可以在编写动作时使用自动补全功能。
最后,您的动作应如下所示:
测试
我们现在可以测试我们的文本对象。您可以看到健康和得分的变化。接下来的步骤是在Space Shooter游戏中添加音效和音乐。