创建控件
创建 控件蓝图 并设计好布局之后,若要令其显示在游戏内,需要在另一个蓝图中(例如 关卡蓝图 或 角色蓝图)使用 Create Widget 和 Add to Viewport 节点调用它。
在上面的示例中,Create Widget 节点调用了在 类 部分下指定的控件蓝图(它应用到了名为 Owning Player 的 玩家控制器,此处留空则会使用默认玩家控制器),而最后则得到 返回值。
同时,在上面的示例中,返回值被指定为题为“Main Menu”的变量,之后可以以此访问该控件蓝图,而无需重新创建控件(这也可以用于移除控件)。最后,Add to Viewport 用于在屏幕上绘制控件蓝图,我们指定的 Main Menu 变量(该变量包含所创建的控件)则是待添加的目标。
使用 Remove from Parent 节点并指定目标控件蓝图,可将控件从显示中移除。
设置输入模式和显示光标
有些情况下您可能想要玩家与 UI 进行交互,有些情况下您则想要他们完全忽视掉 UI。有一些节点可以用来决定玩家与 UI 交互的方式,这些节点都是 设置输入模式 类型,如下所示。
上图左边的 Set Input Mode Game and UI 节点,顾名思义,使玩家可以通过输入来操纵游戏和 UI(例如,控制屏幕上的角色的同时可以点击任意的按钮或 UI 元素)。
上图中间的 Set Input Mode Game Only 节点仅针对游戏启用输入,忽视 UI 元素(完美适用于非交互性 UI 元素,如体力、点数或时间显示)。
上图右边的 Set Input Mode UIOnly 是用于极端情况的节点,在您只想允许 UI 导航并且不允许游戏输入的情况下使用。这将完全禁用掉所有的游戏控制,UI 将成为所有输入的对象,请谨慎使用该节点。
为了配合上述的节点,您可能想要 启用/禁用 鼠标光标 的显示。为此,可以使用 Set Show Mouse Cursor 节点。将 Get Player Controller 节点拖离,然后使用 Set Show Mouse Cursor 节点并将其设置为 True 或 False 以显示或隐藏鼠标光标。
上图中 I 用于切换鼠标光标的显示/隐藏。
向控件添加控件
可以将控件添加到其他控件,而无需对每个控件使用 Add to Viewport 节点。
上面的示例显示了如何使用 添加子控件 功能将一个名为“start_Button”的 滚动框 控件附加到名为“Main Menu”的新控件。
Add Child 节点用于在面板中将一个控件变为另一个控件的子/父控件,而 Add to Viewport 则将控件像新窗口一样添加到根窗口中。若要移除子控件,需要获取父控件并调用 RemoveChild。