当前位置: 首页 > news >正文

做网站优化步骤家具网站开发设计论文

做网站优化步骤,家具网站开发设计论文,wordpress 自适应设备,极速网站建设定制文章目录制作一个材质函数提供两个材质使用创建等级UI的cpp文件蓝图中创建UI并添加到主UI上制作一个材质函数提供两个材质使用 创建一个材质函数 在技能中替换一下 给等级的经验条创建一个UI材质 if(gradient 0) {return 0; }if(gradient < thickness) {return 1; }re…

文章目录

  • 制作一个材质函数提供两个材质使用
  • 创建等级UI的cpp文件
  • 蓝图中创建UI并添加到主UI上


制作一个材质函数提供两个材质使用

创建一个材质函数
在这里插入图片描述
在技能中替换一下
在这里插入图片描述
给等级的经验条创建一个UI材质
在这里插入图片描述

if(gradient == 0)
{return 0;
}if(gradient < thickness)
{return 1;
}return 0;

在这里插入图片描述

创建等级UI的cpp文件

在这里插入图片描述

// 幻雨喜欢小猫咪#pragma once#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Components/Image.h"
#include "Components/TextBlock.h"
#include "GAS/Core/CAttributeSet.h"
#include "LevelGauge.generated.h"/*** ULevelGauge* 用于显示角色等级进度的UI控件(包含进度条和文本显示)* 依赖GameplayAbilities系统实现属性绑定*/
UCLASS()
class CRUNCH_API ULevelGauge : public UUserWidget
{GENERATED_BODY()
public:virtual void NativeConstruct() override;private:/*** 材质参数名称(用于动态调整进度条材质)* 在编辑器中可配置,默认值为"Percent"*/UPROPERTY(EditDefaultsOnly, Category = "Visual")FName PercentMaterialParamName = "Percent";// 等级进度条UPROPERTY(meta = (BindWidget))TObjectPtr<UImage> LevelProgressImage;// 等级文本UPROPERTY(meta = (BindWidget))TObjectPtr<UTextBlock> LevelText;// 数字格式化设置FNumberFormattingOptions NumberFormattingOptions;TObjectPtr<const UAbilitySystemComponent> OwnerASC;void UpdateGauge(const FOnAttributeChangeData& Data);
};
// 幻雨喜欢小猫咪#include "LevelGauge.h"#include "AbilitySystemBlueprintLibrary.h"
#include "GAS/Core/CHeroAttributeSet.h"void ULevelGauge::NativeConstruct()
{Super::NativeConstruct();// 设置为无小数格式NumberFormattingOptions.SetMaximumFractionalDigits(0);// 获取角色APawn* OwnerPawn = GetOwningPlayerPawn();if (!OwnerPawn) return;// 通过角色获取ASC组件UAbilitySystemComponent* OwnerAbilitySystemComponent = UAbilitySystemBlueprintLibrary::GetAbilitySystemComponent(OwnerPawn);if (!OwnerAbilitySystemComponent) return;OwnerASC = OwnerAbilitySystemComponent;// 构造的时候触发一次修改UpdateGauge(FOnAttributeChangeData());// 绑定属性变化委托:// 监听经验属性变化(当前经验值)OwnerAbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(UCHeroAttributeSet::GetExperienceAttribute()).AddUObject(this, &ULevelGauge::UpdateGauge);// 监听升级所需经验属性变化下一级的经验值OwnerAbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(UCHeroAttributeSet::GetNextLevelExperienceAttribute()).AddUObject(this, &ULevelGauge::UpdateGauge);// 监听上一级经验属性变化该等级的启始经验值OwnerAbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(UCHeroAttributeSet::GetPrevLevelExperienceAttribute()).AddUObject(this, &ULevelGauge::UpdateGauge);// 监听等级属性变化(用于显示当前等级)OwnerAbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(UCHeroAttributeSet::GetLevelAttribute()).AddUObject(this, &ULevelGauge::UpdateGauge);
}void ULevelGauge::UpdateGauge(const FOnAttributeChangeData& Data)
{// 查询属性值时的标记bool bFound;// 获取当前经验值float CurrentExperience = OwnerASC->GetGameplayAttributeValue(UCHeroAttributeSet::GetExperienceAttribute(), bFound);if (!bFound) return;// 获取升级所需经验值float NextLevelExperience = OwnerASC->GetGameplayAttributeValue(UCHeroAttributeSet::GetNextLevelExperienceAttribute(), bFound);if (!bFound) return;// 获取上一级经验值float PrevLevelExperience = OwnerASC->GetGameplayAttributeValue(UCHeroAttributeSet::GetPrevLevelExperienceAttribute(), bFound);if (!bFound) return;// 获取当前等级float CurrentLevel = OwnerASC->GetGameplayAttributeValue(UCHeroAttributeSet::GetLevelAttribute(), bFound);if (!bFound) return;// 更新等级LevelText->SetText(FText::AsNumber(CurrentLevel, &NumberFormattingOptions));// 计算进度百分比// 获取当前等级获取到的经验float Progress = CurrentExperience - PrevLevelExperience;// 获取到下一级等级需要获取到的经验float LevelExpAmt = NextLevelExperience - PrevLevelExperience;float Percent = Progress / LevelExpAmt;// 满级if (NextLevelExperience == 0.f){Percent = 1.f;}// 更新进度条材质if (LevelProgressImage){LevelProgressImage->GetDynamicMaterial()->SetScalarParameterValue(PercentMaterialParamName, Percent);}
}

蓝图中创建UI并添加到主UI上

创建对应的蓝图类
在这里插入图片描述
再放进UI里
在这里插入图片描述
设置一下升级点数的获取
在这里插入图片描述

vv
在这里插入图片描述

http://www.dtcms.com/a/417409.html

相关文章:

  • 怎么推广自己的网站链接做集团网站的
  • 吉林手机版建站系统价格企业级建站
  • 建设商城网站公司网页制作与网站建设课堂实录
  • 有哪些网站可以卖自己做的图片建站之星模板怎么设置
  • 美味西式餐饮美食网站模板上海网站开发工程师招聘网
  • ps制作网站公司网站建设工作计划
  • 商务网站的建设步骤wordpress 免费个人主题
  • 提高asp.net网站安全性如何推广网站业务
  • 技术支持 石家庄网站建设深圳建设网站需要多少钱
  • 武宁网站ui专业设计网站建设重要性
  • 保定php网站制作扬中网络推广
  • 各大门户网站用什么做的建一个网站大约花多少钱
  • 诸暨企业网站建设株洲网站制作公司
  • 文字云网站佛山网站建设佛山网站制作
  • 门户网站的建设要求深圳高端网站
  • 网站的开发方法卖域名赚钱吗
  • 怎么在赶集网上做招聘网站vi设计应用部分有哪些
  • 大华建设项目管理有限公司网站网站源码路径
  • 重庆网站建设尚智逢源app设计与开发公司
  • 福鼎手机网站建设如何优化百度seo排名
  • pc网站运营做喷绘可以在那个网站找
  • 装饰行业网站模板校园网网站建设规划书
  • 加强门户网站建设宣传银川市做网站的公司
  • 在线设计装修的网站如何提供网站建设公司
  • mvc 网站路径南昌人才网
  • 网上做兼职老师的正规网站wordpress 用户权限插件
  • 亿省心网站托管网站开发用什么数据库
  • 用老薛主机做网站珠海市城市建设档案馆网站
  • tcga做多因素分析的网站如何做网站运营呢
  • 如何做好电子商务网站开发做网站每月收入