UE4 C++关联蓝图界面(仅显示)
使用的自带第三人称c++模板,UE4.27
实现教程参考:UE5虚幻引擎C++【第六期】实现UMG控件_哔哩哔哩_bilibili
1.创建一个蓝图界面控件,设置好布局
2.找到项目代码xx(项目名称).build.cs文件
1)添加UMG及后续部分,使得可以调用蓝图模块相关内容
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "UMG", "Slate","SlateCore" }); PrivateDependencyModuleNames.AddRange(new string[] { });
3.找到项目代码中xx(项目名称)GameMode.h文件
1)添加头文件
#include "Blueprint/UserWidget.h"
2)类中添加虚函数BeginPlay,后续作为游戏运行即调用界面,CustomWidgetIns是自定义用户界面
class ATencent1GameMode : public AGameModeBase { GENERATED_BODY() public: ATencent1GameMode(); protected: virtual void BeginPlay() override; private: UUserWidget* CustomWidgetIns; };
4.找到项目代码中xx(项目名称)GameMode.cpp文件
1)初始化CustomWidgetIns = nullptr;
2)编写BeginPlay()函数
void ATencent1GameMode::BeginPlay() { Super::BeginPlay(); if (UClass* CustomWidgetClass = LoadClass<UUserWidget>(nullptr, TEXT("WidgetBlueprint'/Game/HUD.HUD_C'"))) {//loadclass就是关联到我们一开始创建的界面,注意右键复制界面的引用同时在地址最后加_C if (APlayerController* PC = GetWorld()->GetFirstPlayerController()) {//检查是否存在有效的玩家控制器并获取第一个 CustomWidgetIns = CreateWidget(PC, CustomWidgetClass); if (CustomWidgetIns) { CustomWidgetIns->AddToViewport();//将界面添加到视口 } } } }
5.编译后可成功加载界面,比如左上角显示用户名
分类:
UE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!