ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

39,经验值进度条和文本改为c++

39,经验值进度条和文本改为c++ 这个比较简单注意的是计算百分比时要变成float否则进度条不动class UProgressBar;public:// 对应蓝图自定义事件C可调用、蓝图也可调用UFUNCTION(BlueprintCallable, Category “UI”)void UpdateExpAndLevel(float CurExp, float RequiredExp, int32 Level);protected:// 只绑定需要的两个控件BindWidget要求名字和UMG蓝图内控件名完全一致UPROPERTY(meta (BindWidget))UProgressBar* Bar_EXP;UPROPERTY(meta (BindWidget)) UTextBlock* Text_Level; #include Components/ProgressBar.h#include “Components/TextBlock.h”void UMyPlayerUI::UpdateExpAndLevel(float CurExp, float RequiredExp, int32 Level){// 空指针保护防止控件没绑定崩溃if(Bar_EXP RequiredExp 0.0f){float Percent CurExp / RequiredExp;Bar_EXP-SetPercent(Percent);}if(Text_Level) { // 数字转文本 FText LevelText FText::AsNumber(Level); Text_Level-SetText(LevelText); }}
返回列表