UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

实现从外部设置Text显示文本,要用到绑定功能。

一、从外部设置Text显示文本

1.在HUDWidget1的控件蓝图编辑器中,选中放置的Text,在细节中找到Content下的Text属性,右侧显示绑定,点击选择创建绑定

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

2.创建绑定后编辑器的显示有设计师切换到了图表,在函数部分也创建了GText_0,该函数是用于为UI的Text设置值的函数,将text_val变量拖拽到蓝图中,获取值 将其与返回节点中的Return Value连接

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

在此界面有两个默认的节点Get Text 0是函数的起始点,返回节点用于Text指定设置值 为 Return Value 设置值之后,将会赋值到Text中。

3.选中HUDWidget1图表中的事件图表,在我的蓝图中变量点击 + 号创建变量并命名为text_val将改变量显示到面板并设置变量类型为String,然后进行编译

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

4.切换到关卡蓝图右键创建 设置text val (搜索时没有下划线)节点,在text val 节点中的Text Val 输入想要设置显示到画面中的文字,并将执行顺序连接

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

5.编译后,运行程序,查看效果。

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

二、制作可输入文本

1.在HUDWidget1编辑器中选择设计师模式,使用TextBox控件,该控件用于直接填写文本,但仅供输入一行简单文本时使用,在控制板/通用中找到TextBox拖入刚才的Vetical Box 下,在选中TextBox细节面板Appearance下打开Font属性更改size为36

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

2.切换到图表模式下,增加变量 textbox_val设置变量类型为String,并将其设置为可见

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

3.添加button控件,该控件用于取出TextBox的文本进行处理。在设计师模式下的控制板/通用中选择botton部件来创建,放在Vertical Box空间下,并创建一个Text 放到TextBox下当子物体,用来显示按钮名称将Button按钮细节面板下的插槽下的Horizontal Alignment格式更改为剧中 (第二个)其子物体细节面板中的文字大小更改为 36 

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

完成后点击编译

4.选中Button在细节面板最下方有事件栏,选择OnClicked里面的+号,点击后会切换面板

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

5.返回设计师面板,选择TextBox控件,细节面板最下方有事件,选择OnTextChanged点击 +号创建对应节点

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

6.切换为图表模式后,将变量text_val设置节点拖拽到蓝图中,将textbox_val 获取节点及设置节点都拖拽到蓝图中,

逻辑为:TextBox控件中的输入值更改,进行更改textbox _val,点击确定按钮,将textbox_val的值赋值给text_val,并显示。

蓝图为:

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

运行结果:

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)点击按钮后UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

7.控制输入框的显示隐藏

在关卡蓝图中,我的蓝图面板创建一个变量命名为HUD,更改类型为 HUDWidget1

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

8.将创建的  获取HUD变量及设置HUD变量节点拖拽到蓝图中,之前关卡蓝图中的将set textval 节点删除换成set hud 节点,作用用来获取创建的HUD控件。

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

9.创建鼠标左键显示,右键隐藏,鼠标左键节点,及鼠标右键节点,创建 Add to viewport节点,控制HUD显示,创建Remove from Parent节点,该节点可以将特定的部件从其加入的位置去除,用来隐藏HUD。

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

编译后,运行后发现光标没有跟随显示出来。

10.使用Show Mouse Cursor 节点控制光标的显示隐藏

创建两个 Show Mouse Cursor 节点,

参数:Show Mouse Cursor  是否显示光标。勾选显示,不勾选 隐藏

Target 目标为玩家控制器,添加Get PlayerController 节点,用于获取玩家控制器,有一个PlayerIndex输入项,可以指定玩家编号,根据情况可以准备多个玩家控制器,可以指定玩家编号并取出,没有创建玩家控制器时,指定为0

UE4-(蓝图)第十五课平视显示器(程序设置HUD显示内容并控制HUD显示隐藏)

编译运行即可。