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

虚幻引擎5 GAS开发俯视角RPG游戏 P05-07 广播效果资产标签

目标:上面我们实现了获取添加GE时的回调,并能够打印对应GE上面添加的Tags,接下来,我们要实现ASC和Widget Controller之间的沟通,在GE添加时,在WidgetController里面也能够获取到Broadcast广播,并触发对应的回调。

1.ASC.h在之前的基础上,添加一个委托宏设置FEffectAssetTags,然后定义一个属性EffectAssetTags用于后续的广播。

Source/CC_Aura/Public/AbilitySystem/CC_AbilitySystemComponent.h:

//定义多播委托,用于向小部件控制器广播效果标签
DECLARE_MULTICAST_DELEGATE_OneParam(FEffectAssectTags, const FGameplayTagContainer& /*AssectTags*/)
	//定义一个多播委托FEffectAssectTags EffectAssectTags;

Source/CC_Aura/Private/AbilitySystem/CC_AbilitySystemComponent.cpp:

EffectAssectTags.Broadcast(TagContainer);

2.在小部件控制器中,调用ASC中的EffectAssectTags的委托回调函数:

在函数BindCallbacksToDependencies()中,添加:

if (CC_AbilitySystemComponent == nullptr){CC_AbilitySystemComponent = Cast<UCC_AbilitySystemComponent>(AbilitySystemComponent);}CC_AbilitySystemComponent->EffectAssectTags.AddLambda([](const FGameplayTagContainer& AssectTags){for(const FGameplayTag& Tag : AssectTags){//TODO: 将tag广播给Widget Controllerconst FString Msg = FString::Printf(TEXT("GE Tag: %s"), *Tag.ToString()); //获取Asset TagGEngine->AddOnScreenDebugMessage(-1, 8.f, FColor::Cyan, Msg); //打印到屏幕上 -1 不会被覆盖}});

效果:

失败!!! 

查找原因:

发现:

找了很长时间BUG,最后没办法,只能迁移项目,这个项目是UE5.5版本做的, 现在换UE5.2. 效果:

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

相关文章:

  • 南阳专业做网站抖音代运营平台
  • 网站公司怎么做的好天津海外seo
  • 二级网站建设方案模板做ppt的网站叫什么名字
  • Java优选算法——位运算
  • Linux编辑器vim
  • 大模型-去噪扩散概率模型(DDPM)采样算法详解
  • LeetCode 398:随机数索引
  • 通过公网STUN服务器实现UDP打洞
  • 手机怎样设计网站建设哪个网站有做兼职的
  • 分布式专题——44 ElasticSearch安装
  • Java HTTP编程深度解析:从基础到微服务通信的完整架构实践
  • 3dgs train.py详解
  • Ruby Socket 编程
  • 阿里云linux主机如何添加2个网站中山网站建设方案托管
  • React 状态管理中的循环更新陷阱与解决方案
  • 手机h5免费模板网站深圳网页设计培训要多久
  • 网站快速建设网络营销公司介绍
  • 唐山seo网站建设企业网站的建立如何带来询盘
  • 上海虹口网站建设重庆网站建设公司的网站
  • 自动化测试之 Cucumber 工具
  • 基于MATLAB的t-SNE算法多合成数据集降维可视化实现
  • SAP 关于工单的状态更改,这个要怎么查看呢?
  • 网站建设费用会计分录男女做暧暧视频免费网站
  • 如何高效编写MySQL数据导出与导入语句?
  • 第六部分:VTK进阶(第160章 体绘制采样与空域加速)
  • 网站开发什么意思泾阳做网站
  • 什么是swc?
  • 第九章 装饰器与闭包
  • 接口测试案例从哪些维度去设计
  • 协程入门(基础篇)