|
Previous Step
下一步
快速入门主页
在此教程中,我们使用的是启用了 新手内容 的 第一人称蓝图 模板。如您不清楚如何创建新项目和使用模板,请参阅 项目浏览器 页面了解详细信息。
在 内容浏览器 中点击 添加新内容 按钮,然后在 用户界面 下选择 控件蓝图 并将其命名为 HUD。
所有用户界面元素(HUD、菜单等)都将在控件蓝图中创建并且存放。利用控件蓝图可以在视觉上对 UI 元素进行布局,并为这些元素提供用脚本编辑的功能。我们现在正在打造此项功能,以便玩家角色出现在游戏世界中时显示,但我们会在以后进行设置。
如需控件蓝图的更多信息,请查阅 控件蓝图 文档。
创建另外两个 控件蓝图,一个称为 主菜单,另一个称为 暂停菜单。
在 内容浏览器 上 右键单击,创建一个名为 主要 的 关卡。
我们将在本指南的后面使用此功能进行主菜单设置。
在 内容浏览器 中,打开 Content/FirstPersonBP/Blueprints 文件夹中的 FirstPersonCharacter 蓝图。
此蓝图是可操纵角色的蓝图,我们将在这一蓝图中创建一些信息,传递给 HUD 控件蓝图进行显示。
在 我的蓝图 窗口中点击 添加变量 按钮。
在新变量的 细节 面板中,将变量命名为 Health,将变量类型改为 浮点型 并将 默认值 设为 1.0。
该变量将代表在 HUD 上显示的玩家角色的体力值。
另外创建一个名为 Energy 的 浮点型 变量,并将 默认值 设为 1.0。
它代表在 HUD 上显示的玩家角色的能量值。
无法输入默认值?从工具栏中点击 编译 按钮对蓝图进行编译,然后重试。
另外创建一个名为 Ammo 的 整型 变量,并将 默认值 设为 25。
再创建一个名为 MaxAmmo 的 整型 变量,并将 默认值 设为 25。
在 图表 窗口中,右键单击,然后添加一个 Event Begin Play 节点。
拖动 Event Begin play 节点,然后添加一个 类 设置成 HUD 控件蓝图的 Create Widget 节点。
关闭 创建 HUD_C 控件 的 返回值,选择 提升为变量 并对 HUD 参考 进行命名。
这样便会在游戏开始时创建 HUD 控件蓝图并将其储存为变量,供日后存取使用。在日后调用函数或设置属性时该变量会十分有用。举例来说,如果想要在游戏暂停时隐藏 HUD,可通过该变量访问 HUD。
拖动 Set 节点的输出针脚并添加 Add to Viewport 节点。
正如节点名所示,这样做会把指定为目标的控件蓝图添加到玩家窗口中,把它拖动到屏幕上。
调整角色变量
在开始生成实际 HUD 之前,需要完成的最后一项工作是为角色变量提供一种变更方式。
在 FirstPersonCharacter 蓝图中,长按 Alt 拖入 Energy 变量,把它放置在 Jump 脚本的旁边。
长按 Ctrl 拖入 Energy 变量的一个副本,把它与一个设置为 0.25 的 Float - Float 节点按如下连接方式连接起来。
角色每次跳跃时从角色的当前能量值中减去 0.25。
为 Health 变量设置相同脚本,但使用 F 按键事件(或其他按键事件)进行测试。
这样做可测试按下按键时 Health 变量能否在 HUD 中正确显示。
找到 Spawn Projectile 脚本并跟随 InputAction Fire 事件,然后 右键单击 并添加一个 Branch 节点。
对 Branch 条件而言,按住 Ctrl 拖入与设置为 0 的 Integer > Integer 变量相连的 Ammo 变量,并按如下方式进行连接。
这样,仅在玩家的弹药量大于零时才能发射射弹。
在 Spawn Projectile 脚本的后面紧跟着的是 Play Sound at Location 节点,将 Ammo 设为等于 Ammo - 1。
这样,在玩家每次发射射弹之后,弹药量便会减去 1,并在 HUD 上显示出来。
编译 并 保存,然后关闭蓝图。
在下一步,我们将设置 Health、Energy 和 Ammo 变量在 HUD 上的显示,让它们在游戏中正常工作。
Previous Step
下一步
快速入门主页
|
|