UEC++创建3DWidget渲染到屏幕(血条创建)(UEC++个人学习笔记)

本文详细描述了如何在Unity游戏中创建HealthWidget,包括头文件中声明血量变量,使用蓝图添加进度条,以及在角色类中设置和显示血条的过程。
摘要由CSDN通过智能技术生成

创建HealthWidgetC++

在头文件声明两个变量,当前血量和最大血量

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyWidget")
		float CurrentHealth=100.0f;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyWidget")
		float MaxHealth=100.0f;

 创建HealthWidget蓝图,添加画布和进度条,

在进度条里的百分比创建绑定,用于设置血量百分比显示

 

 然后在需要的人物的头上添加血条的地方,添加上头文件,我这里在自己创建的mycharacter里面添加

#include"Components/WidgetComponent.h"
#include"MyHealthWidget.h"

然后声明控件

UPROPERTY(EditAnywhere, BluePrintReadOnly, Category = "MySenceComponent")
		UWidgetComponent* MyWidgetHealth;

在character.cpp文件中

MyWidgetHealth = CreateDefaultSubobject<UWidgetComponent>(TEXT("MyWidgetComponent"));
	//放入根
	MyWidgetHealth ->SetupAttachment(RootComponent);
	//复制控件引用
	static ConstructorHelpers::FClassFinder<UUserWidget>WidgetClass(TEXT("/Script/UMGEditor.WidgetBlueprint'/Game/UMG_Health.UMG_Health_C'"));
	MyWidgetHealth->SetWidgetClass(WidgetClass.Class);
	//给一个向上的100的值,用于设置渲染的位置
	MyWidgetHealth->SetRelativeLocation(FVector(0,0,100));
	//设置渲染方式,是渲染到屏幕还是世界中
	MyWidgetHealth->SetWidgetSpace(EWidgetSpace:: Screen);
	//设置绘制大小
	MyWidgetHealth->SetDrawSize(FVector2D(300,20));

效果为:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值