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

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!