日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UE4 UMG入门——创建和显示游戏菜单

發布時間:2023/12/29 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE4 UMG入门——创建和显示游戏菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

01 設置UMG

UMG 是依賴于一些模塊的,需要添加這些模塊到"工程名.Build.cs"中。
在"HowTo_UMG.Build.CS",添加"UMG"到包括了公共模塊的列表,并把"Slate"和"SlateCore"添加到包含了私有模塊的列表中。

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" });

然后取消對如下行的注釋:

PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

02 擴展游戲模式

  • 我們要創建的菜單來自于 User Widgets(用戶控件),我們需要寫一個創建和展示新 User Widgets(用戶控件) 的函數,然后在游戲啟動時調用該函數。
    在自己的游戲模式類中定義:
public:/** 在游戲開始時調用。 */virtual void BeginPlay() override;/** 移除當前菜單控件并且如果可能,從指定類中創建新控件。 */UFUNCTION(BlueprintCallable, Category = "UMG Game")void ChangeMenuWidget(TSubclassOf<UUserWidget> NewWidgetClass);protected:/** 在游戲開始時我們將作為菜單使用的控件類。 */UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UMG Game")TSubclassOf<UUserWidget> StartingWidgetClass;/** 用作為菜單的控件實例。 */UPROPERTY()UUserWidget* CurrentWidget;
  • 為了在代碼中使用 User Widgets(用戶控件),需要添加頭文件 #include “Blueprint/UserWidget.h”

  • 在HowTo_UMGGameMode.cpp中,我們需要定義如何在菜單間進行變更。 我們需要從視口中移除任意激活的 User Widget(用戶控件) (如存在的話)。 然后我們可以創建新的 User Widget(用戶控件) 并將其添加到視口中。

void AHowTo_UMGGameMode::ChangeMenuWidget(TSubclassOf<UUserWidget> NewWidgetClass) {if (CurrentWidget != nullptr)//不為空,移除{CurrentWidget->RemoveFromViewport();CurrentWidget = nullptr;}if (NewWidgetClass != nullptr){CurrentWidget = CreateWidget<UUserWidget>(GetWorld(), NewWidgetClass);if (CurrentWidget != nullptr){CurrentWidget->AddToViewport();}} }

這個代碼將會創建我們提供的任意 Widgets(控件) 的實例,并將其放置于屏幕上。 它也可以用來移除實例,所以即使 Unreal Engine(虛幻引擎) 可以同時處理許多 Widgets(控件) 的顯示和互動,一次也只能激活一個實例。 我們不需要直接銷毀 Widgets(控件) ,因為將其從視口中移除并清除(或者變更)引用它的所有變量將會導致其被 Unreal Engine’s(虛幻引擎的) 垃圾收集系統清除。

  • 在BeginPlay中調用該函數:
void AHowTo_UMGGameMode::BeginPlay() {Super::BeginPlay();ChangeMenuWidget(StartingWidgetClass); }

以上已經構建了代碼的框架以創建和顯示菜單,并在不需要它們時移除它們。然后 我們可以返回 Unreal Editor(虛幻編輯器) 并設計菜單資源了

03 使用藍圖創建菜單控件

https://www.52vr.com/extDoc/ue4/CHN/index.html

總結

以上是生活随笔為你收集整理的UE4 UMG入门——创建和显示游戏菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 嫦娥性艳史bd | 欧美中文在线观看 | 国产日韩欧美一二三区 | 中国一级特黄视频 | 色综合久久久久 | 国产伦精品一区二区三区免费迷 | 亚洲天堂女人 | 久久99精品久久只有精品 | 粉嫩一区二区三区 | 日本va视频 | 91一区二区视频 | 韩国黄色大片 | 国产网站大全 | 免费网站成人 | 91秘密入口| 亚洲精品一区二区三 | 国产一区二区视频免费观看 | 日本免费黄色网址 | 国产无套在线观看 | 欧美偷拍亚洲 | 少妇床戏av | 亚洲三级视频 | 午夜成人免费视频 | 日韩av电影一区 | 国产一级二级三级 | 草莓视频18免费观看 | 中文精品无码中文字幕无码专区 | 欧美日韩在线二区 | 一级黄色录像免费观看 | 手机亚洲第一页 | 国产乱国产乱老熟 | 欧美伊人网 | 午夜伦理av| 色播在线视频 | 美女扒开腿让人桶爽原神 | 国产毛片儿 | 久久爱综合网 | 狠狠干天天 | 99reav | 人人爽爽爽 | 久久这里只有精品99 | av免费在线观看网址 | 碰在线视频 | 少妇喷水在线观看 | 999xxxxx| 亚洲第一视频网 | 国产农村老头老太视频 | 樱桃成人精品视频在线播放 | 亚洲精品男女 | 天天摸日日摸 | 国产又大又粗又爽 | 床戏高潮呻吟声片段 | 国产亚洲成人精品 | 性高潮免费视频 | 九色婷婷 | 无码人妻aⅴ一区二区三区69岛 | 欧美三级小视频 | 裸体的日本在线观看 | 欧美天天色 | 久久不卡日韩美女 | 日本大乳奶做爰 | 天堂av中文在线 | 色婷婷久 | 色妺妺视频网 | 色一情一交一乱一区二区三区 | 久久99精品国产麻豆婷婷洗澡 | 动漫美女隐私无遮挡 | 色婷婷激情综合 | 黄色91视频 | 久在线| 黄色片网站在线 | 中文字幕亚洲综合 | 深夜视频一区二区三区 | 日本在线一 | 久久亚洲一区二区 | 国产精品19乱码一区二区三区 | 欧美视频色 | 手机在线精品视频 | 日韩精品xxx | 久久久精品999 | 国产精品天天狠天天看 | 久久久久久久久久久91 | 欧美在线看 | 丁香六月久久 | 在线免费看毛片 | 亚洲无人区码一码二码三码 | 青娱乐在线免费观看 | 国产精品一区二区三区在线 | 国产激情一区二区三区 | 亚洲欧美中文字幕5发布 | jizz内谢中国亚洲jizz | 国产亚洲天堂 | 成人动漫久久 | 欧美性天堂 | 天美麻花果冻视频大全英文版 | 污污网站在线观看视频 | 老熟妇高潮一区二区三区 | 久久久久久色 | 性色AV无码久久一区二区三 |