创建控件

如何创建控件蓝图并显示在游戏中。

Windows
MacOS
Linux

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

CreateWidgetNode.png

在上述示例中,Create Widget 节点调用 类(Class) 部分下指定的控件蓝图,返回值(Return Value) 为生成的结果(拥有玩家(Owning Player)玩家控制器(Player Controller),被应用于默认播放器控制器中的空白结果。)Add to Viewport 函数用于在屏幕上绘制控件蓝图。这里我们指定Main Menu变量(该变量包含所创建的控件)为添加的目标。

此外,返回值被分配给一个名“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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback