UE4 C++为角色添加血条组件并动态变化。
Posted Tanzq*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 C++为角色添加血条组件并动态变化。相关的知识,希望对你有一定的参考价值。
添加UI血条组件
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="XXXX")
UWidgetComponent* Widget;
// 在初始化完组件之后调用
virtual void PostInitializeComponents() override;
// HpBarWidget 使用进度条来代表血条的变化。
UPROPERTY()
UProgressBar* HPBarProgress;
对组件进行初始化及调用
- 构造函数
Widget = CreateDefaultSubobject<UWidgetComponent>(TEXT("Widget"));
Widget->SetupAttachment(RootComponent);
- PostInitializeComponents 对进度条进行初始化
void AEnemyCharacter::PostInitializeComponents()
{
Super::PostInitializeComponents();
// 获得当前UI控件
UUserWidget* CurrentWidget = Widget->GetUserWidgetObject();
if (CurrentWidget)
{
// 获取名为 Health 的 控件,待会会讲到
HPBarProgress = Cast<UProgressBar>(CurrentWidget->GetWidgetFromName(TEXT("Health")));
if (HPBarProgress)
{
// 设置一个初始进度。
HPBarProgress->SetPercent(1.f);
}
}
}
- 在 BeginPlaye中调用它
PostInitializeComponents();
- 在血条变化的是调用并修改
HPBarProgress->SetPercent(CurrentHp / MaxHp);
加载血条UI
新建蓝图控件。
加一个进度条并命名为Health。
将蓝图控件加载人物血条控件中即可。
以上是关于UE4 C++为角色添加血条组件并动态变化。的主要内容,如果未能解决你的问题,请参考以下文章