首先要明确UI和HUD的区别:
UI:一般开始界面、暂停界面、游戏设置界面、背包界面等属于UI范畴
HUD:一直显示在屏幕中的血条、能量值、子弹数量、游戏分数等属于HUD范畴
二者在ue4中都是通过UMG来创建的
UI窗口和HUD的搭建就不再说明,我们通过一个例子来掌握如何通过蓝图和它们进行交互。
创建一个第三人称项目,并且创建了开始界面、暂停界面、HUD;
具体思路:在关卡蓝图的【事件开始运行】事件中创建开始界面并添加到视口中,由于默认的游戏模式是不显示鼠标的,还要将【显示鼠标光标】属性设置为真(对象是玩家控制器)。点击开始界面的开始游戏按钮后,利用【从父项中移除】将开始界面移除,然后将【显示鼠标光标】设置为假,之后创建HUD界面并添加到视口中。之后在关卡蓝图中的【Escape】键盘事件中创建暂停界面(这里最好不要写在角色蓝图类中,因为玩家一局游戏中可以控制多种pawn可以是人,也可以是车。那么暂停的逻辑就要写很多次)。
关键蓝图:
而且UMG编辑界面中的控件如按钮、文本、进度条等很多属性如:颜色、文本内容、进度百分比都可以进行绑定。也就是说可以显示玩家的状态。
具体思路:角色蓝图和控件蓝图是不同的蓝图,而我们要在控件蓝图中获取角色蓝图中变化的属性值。在控件蓝图构造函数通过【获取玩家角色】和【Cast to 角色蓝图类型】获取角色蓝图的引用。有了引用在结合控件的【绑定函数】动态修改UI、HUD界面的属性值。
关键蓝图:
