UE5--013--HUDWidget--RestartWidget
1. HUDWidget
1.1 HUDWidget.h
#pragma once #include "CoreMinimal.h" #include "Blueprint/UserWidget.h" #include "HUDWidget.generated.h" /** * */ UCLASS() class C005DODGEBALL_API UHUDWidget : public UUserWidget { GENERATED_BODY() public: UPROPERTY(meta = (BindWidget)) class UProgressBar* HealthBar; public: void UpdateHealthPercent(float HealthPercent); };
1.2 HUDWidget.cpp
#include "HUDWidget.h" #include "Components/ProgressBar.h" void UHUDWidget::UpdateHealthPercent(float HealthPercent) { HealthBar->SetPercent(HealthPercent); }
1.3 BP_HUDWidget
2. RestartWidget
2.1 RestartWidget.h
#pragma once #include "CoreMinimal.h" #include "Blueprint/UserWidget.h" #include "RestartWidget.generated.h" /** * */ UCLASS() class C005DODGEBALL_API URestartWidget : public UUserWidget { GENERATED_BODY() public: UPROPERTY(meta = (BindWidget)) class UButton* RestartButton; UPROPERTY(meta = (BindWidget)) class UButton* ExitButton; protected: UFUNCTION() void OnRestartClicked(); UFUNCTION() void OnExitClicked(); public: virtual void NativeOnInitialized() override; };
2.2 RestartWidget.cpp
#include "RestartWidget.h" #include "Components/Button.h" #include "Kismet/GameplayStatics.h" #include "DodgeballPlayerController.h" void URestartWidget::NativeOnInitialized() { Super::NativeOnInitialized(); if (RestartButton != nullptr) { RestartButton->OnClicked.AddDynamic(this, &URestartWidget::OnRestartClicked); } if (ExitButton != nullptr) { ExitButton->OnClicked.AddDynamic(this, &URestartWidget::OnExitClicked); } } void URestartWidget::OnRestartClicked() { ADodgeballPlayerController* PlayerController = Cast<ADodgeballPlayerController>(GetOwningPlayer()); if (PlayerController != nullptr) { PlayerController->HideRestartWidget(); } UGameplayStatics::OpenLevel(this, FName(*UGameplayStatics::GetCurrentLevelName(this))); } void URestartWidget::OnExitClicked() { UKismetSystemLibrary::QuitGame(this, nullptr, EQuitPreference::Quit, true); }
2.3 BP_RestartWidget
                    
                


                
            
        
浙公网安备 33010602011771号