创建控件

创建 控件蓝图 并设计好布局之后,若要令其显示在游戏内,需要在另一个蓝图中(例如 关卡蓝图角色蓝图)使用 Create WidgetAdd to Viewport 节点调用它。

CreateWidgetNode.png

在上面的示例中,Create Widget 节点调用了在 部分下指定的控件蓝图(它应用到了名为 Owning Player玩家控制器,此处留空则会使用默认玩家控制器),而最后则得到 返回值

同时,在上面的示例中,返回值被指定为题为“Main Menu”的变量,之后可以以此访问该控件蓝图,而无需重新创建控件(这也可以用于移除控件)。最后,Add to Viewport 用于在屏幕上绘制控件蓝图,我们指定的 Main Menu 变量(该变量包含所创建的控件)则是待添加的目标。

使用 Remove from Parent 节点并指定目标控件蓝图,可将控件从显示中移除。

RemoveFromViewport.png

设置输入模式和显示光标

有些情况下您可能想要玩家与 UI 进行交互,有些情况下您则想要他们完全忽视掉 UI。有一些节点可以用来决定玩家与 UI 交互的方式,这些节点都是 设置输入模式 类型,如下所示。

SetInputModes.png

  • 上图左边的 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 以显示或隐藏鼠标光标。

ShowCursor.png

上图中 I 用于切换鼠标光标的显示/隐藏。

向控件添加控件

可以将控件添加到其他控件,而无需对每个控件使用 Add to Viewport 节点。

AddChild.png

上面的示例显示了如何使用 添加子控件 功能将一个名为“start_Button”的 滚动框 控件附加到名为“Main Menu”的新控件。

Add Child 节点用于在面板中将一个控件变为另一个控件的子/父控件,而 Add to Viewport 则将控件像新窗口一样添加到根窗口中。若要移除子控件,需要获取父控件并调用 RemoveChild