首页 > 编程语言 >UE4纯C++实现游戏中快捷栏之创建快捷栏UI

UE4纯C++实现游戏中快捷栏之创建快捷栏UI

时间:2024-04-22 19:15:20浏览次数:16  
标签:GameHUDWidget ASDGameHUD 游戏 C++ 添加 UI 快捷

作为一个在游戏界面中显示的快捷栏,我们需要在游戏运行时就显示出快捷栏UI,故我们创建两个Widget。

  1.SlAiGameHUDWidget:负责游戏中界面UI的整体显示

  2.SlAiShortcutWidget:负责快捷栏部件的显示与逻辑

然后我们通过:

  1.将GameHUDWidget添加进视口:在GameHUD文件中添加GameHUDWidget控件

GameHUDWidget.h:添加Widget指针

 1 class SSDGameHUDWidget;
 2 class ASDGameMode;
 3 
 4 /**
 5  * 
 6  */
 7 UCLASS()
 8 class SANDBOXGAME_API ASDGameHUD : public AHUD
 9 {
10     GENERATED_BODY()
11     
12 public:
13     ASDGameHUD();
14 
15 protected:
16     virtual void BeginPlay() override;
17 
18 private:
19         // 添加Widget指针
20     TSharedPtr<SSDGameHUDWidget> GameHUDWidget;    
21 };
View Code

GameHUDWidget.cpp:添加组件到视口

 1 ASDGameHUD::ASDGameHUD()
 2 {
 3     // 如果视口存在
 4     if (GEngine && GEngine->GameViewport) {
 5         // 创建HUD控件
 6         SAssignNew(GameHUDWidget, SSDGameHUDWidget);
 7         // 添加到视口
 8         GEngine->GameViewport->AddViewportWidgetContent(SNew(SWeakWidget).PossiblyNullContent(GameHUDWidget.ToSharedRef()));
 9     }
10 }
View Code

  2.

 

标签:GameHUDWidget,ASDGameHUD,游戏,C++,添加,UI,快捷
From: https://www.cnblogs.com/wosun/p/18151251

相关文章

  • vim 快捷命令
    如下     ①.快速切换光标到底行        G(输shift加g)          ②.快速切换光标到首行        gg      ③.快速跳转到行首        0      ④.快速跳转到行尾        $      ⑤.快速......
  • 鸿蒙HarmonyOS实战-ArkUI动画(弹簧曲线动画)
    ......
  • 蓝牙打印开发代码示例(日拱一卒,有点进步,UUID仍报错)
     packagecom.lingrui.btprint;importandroid.Manifest;importandroid.app.AlertDialog;importandroid.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothSocket;importandroid.content.DialogInterface......
  • 深度解读《深度探索C++对象模型》之数据成员的存取效率分析(三)
    接下来我将持续更新“深度解读《深度探索C++对象模型》”系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表。前面两篇请通过这里查看:深度解读《深度探索C++对象模型》之数据成员的存取效率分析(一)深度解读《深度探索C++对象模型》之数据成员的......
  • burpsuite安装激活
    1、前置条件1)已安装java,并且已正确配置环境变量(怎么配置环境变量很简单,这里就不赘述了);2)java版本需1.8以上。2、下载burpsuite。burpsuite有免费版和收费版,收费版本需要激活才能使用 第一个是注册机(用于生成秘钥),第二个也是注册机(区别在于它是中文)3、运行注册机......
  • A Guide to OkHttp
      AGuidetoOkHttp     52.5M ASimpleTwoFactorImplementationwithaSoftToken(LSS-Module14-Lesson1)    Lastupdated: January8,2024Writtenby:baeldungReviewedby:ZegerHendrikse......
  • Network loop(managed by libmosquitto)
    mosquitto_loop_forever()&mosquitto_loop()mosquitto_loop_forever()是一个阻塞调用,适用于你只想在回调中处理传入消息的情况。换句话说,调用这个函数,该函数内部调用了一个while(1)循环和mosquitto_loop(),接下来你什么也不能干。mosquitto_loop_start()&mosquitto_loop_sto......
  • PL_SQL常用快捷键
    本文摘自:https://www.cnblogs.com/Ronson-Shen/p/3939798.html1、快速输入;Tools-->Preferences-->UserInterface-->Editor-->AutoReplace,将Enabled复选框的按钮勾选上,点击那个文件路,选中设置快键方式的文件,如下面的shortcuts.txt文件所示,然后再输入的时候按下对应的快键键,然后......
  • C++ 上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的方法
    前言本人一直从事C++上位软件开发工作较多,在之前的项目中通过C++访问西门子PLCS7-200/S7-1200/S7-1500并进行数据交互的应用中一直使用的是ModbusTCP/ModbusRTU协议进行。Modbus上位开源库采用的LibModbus。经过实际应用发现Modbus开源库单次发送和接受的数据不能超......
  • C++ 连接pg数据库
    环境:windows10vs2022引入pqxxs一些增删改查的示例代码#include"pqxx/pqxx"voidinsertPg(){try{//建立连接pqxx::connectionconn("dbname=postgresuser=postgrespassword=123hostaddr=127.0.0.1port=5432");//添加数据......