十二、血条UI

一、制作血条UI

注:一般不用Slider制作血条;而是用两个Image制作,选择为填充

使用Slider滑动条制作UI

人物血条:背景深绿色;滑条浅绿色

在场景中的画布选择为OverLay

敌人血条:

在预制体里面制作,会更新到所有场景中的敌人身上

画布的数据为:

注:ui要放置在空物体身上,不能放在敌人身体里面,否则会出现血条跟随敌人游动

二、代码

声明部分:

在update中进行调用

UE4(Unreal Engine 4)中的C++编写血条UI通常涉及到使用蓝图或者直接使用C++代码配合Widget系统。以下是使用C++创建血条UI的基本步骤: 1. **使用蓝图**: - 打开Visual Editor,在工具栏上找到并添加"User Interface"模块,然后选择"Widget Container"作为容器。 - 右键点击容器,选择"Add Widget",选择"Horizontal Box Layout"或"Stack Panel"布局,用于组织血条和其他控件。 - 在这个布局里添加"ProgressBar"组件,并设置其"Percent Complete"属性表示生命值百分比。 - 调整样式,如颜色、大小等,使其看起来像血条。 2. **使用C++**: - 首先,你需要包含必要的头文件,比如`FLinearColor`、`SlateCore`和`SlateFontLibrary`。 - 创建一个自定义的`SHealthBar`类,继承自`SCompoundWidget`,并在构造函数中初始化血条组件(例如`SVerticalBox`)。 ```cpp class SHealthBar : public SCompoundWidget { //... TSharedRef<SVerticalBox> HealthBarContainer; void Construct(); }; ``` - 在`Construct()`方法中,你可以动态创建和配置进度条组件。 ```cpp void SHealthBar::Construct() { HealthBarContainer = MakeShareable(new SVerticalBox()); // 添加进度条到容器 ProgressBar = SNew(SProgressTrack) .ValueRange(0.0f, 100.0f) // 设定最大生命值 .OnValueChanged(this, &SHealthBar::UpdateValue); HealthBarContainer->AddSlot() ->AutoHeight() ->Fill() ->Padding(5.0f) ->Children() << ProgressBar; // 将容器添加到自身内容中 ContentRoot.AddChild(HealthBarContainer.ToSharedRef()); } ``` - 更新血条值: ```cpp void SHealthBar::UpdateValue(float NewValue) { ProgressBar->SetValue(NewValue); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值