UE4学习笔记20th:扩展游戏模式

来源:互联网 发布:ubuntu删除文件夹命令 编辑:程序博客网 时间:2024/06/03 17:25

在HowTo_UMGGameMode.h中添加头文件:

    #include "Blueprint/UserWidget.h"

接着添加入下定义:

public:    //在游戏开始时调用    virtual void BeginPlay() override;//    //移除当前菜单控件,如果可能,从指定类中创建新控件    UFUNCTION(BlueprintCallable, Category = "UMG Game")        void ChangeMenuWidget(TSubclassOf<UUserWidget> NewWidgetClass);//protected:    //在游戏开始时作为菜单使用的控件类    UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UMG Game")        TSubclassOf<UUserWidget> StaringWidgetClass;//    //用作为菜单的控件实例    UPROPERTY()        UUserWidget* CurrentWidget;//};

这里写图片描述

在HowTo_UMGGameMode.cpp中添加:

void AHowTo_UMGGameMode::BeginPlay(){    Super::BeginPlay();    ChangeMenuWidget(StartingWidgetClass);}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();        }    }}

这里写图片描述

接下来,回到编辑器,编辑菜单资源

原创粉丝点击