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

RPG59.玩家拾取物品三:可拾取物品的提示UI

1。以WarriorWidgetBase作为父类,创建一个子类的userwidget

2.布局为

两个值都为120

3。然后我们需要想办法,在合适的位置,用bool来控制此控件的显示与隐藏。

情况为:当玩家触发与可拾取物体的重叠时,我们将广播一个bool值用来显示可拾取提示

打开PlayerUiComponent.h

//控制显示拾取物品的提示
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStoneInteractedDelegate, bool, bShouldDisplayInputKey);//控制显示物体UPROPERTY(BlueprintCallable,BlueprintAssignable)FOnStoneInteractedDelegate OnStoneInteracted;

我们还需要获取player的uicomponent,打开WarriorPlayerGameplayAbility.h

//获取玩家UI组件UFUNCTION(BlueprintPure, Category = "XMB|Ability")UPlayerUIComponent* GetPlayerUIComponentFromActorInfo();
UPlayerUIComponent* UWarriorPlayerGameplayAbility::GetPlayerUIComponentFromActorInfo()
{return GetPlayerCharacterFromActorInfo()->GetPlayerUIComponent();
}

然后打开PlayerGA_PickUpStones,处理广播事件,这样子我们就将bool广播出去了

void UPlayerGA_PickUpStones::ActivateAbility(const FGameplayAbilitySpecHandle Handle,const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo,const FGameplayEventData* TriggerEventData)
{//显示可拾取提示GetPlayerUIComponentFromActorInfo()->OnStoneInteracted.Broadcast(true);Super::ActivateAbility(Handle, ActorInfo, ActivationInfo, TriggerEventData);
}void UPlayerGA_PickUpStones::EndAbility(const FGameplayAbilitySpecHandle Handle,const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo,bool bReplicateEndAbility, bool bWasCancelled)
{GetPlayerUIComponentFromActorInfo()->OnStoneInteracted.Broadcast(false);Super::EndAbility(Handle, ActorInfo, ActivationInfo, bReplicateEndAbility, bWasCancelled);
}

4。接下来处理监听

启动项目,打开Overlay

我们需要获取当前用来拾取物品的键位

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

相关文章:

  • Excel批量生成SQL语句 Excel批量生成SQL脚本 Excel拼接sql
  • Android studio和gradle升级后的一些错误
  • YOLO 目标检测的改进方法
  • FastExcel:革新Java生态的高性能Excel处理引擎
  • [2025CVPR-目标检测方向]FSHNet:一种用于3D物体检测的全稀疏混合网络。
  • 如何为“地方升学导向型”语校建模?Prompt 框架下的宇都宫日建工科专门学校解析(7 / 500)
  • 20250718-6-Kubernetes 调度-Pod对象:环境变量,初始容器,静态_笔记
  • Python练习(6)Python面向对象编程三大特性:封装、继承与多态的15道实战练习题(含答案与深度解析)
  • 一文讲透HTML语义化标签
  • sqli-labs靶场通关笔记:第27-28a关 union、select过滤
  • Maven下载安装与idea配置
  • 2G和3G网络关闭/退网状态(截止2025年7月)
  • EaseUS Partition Master Free Edition进行磁盘重分配
  • OpenTelemetry学习笔记(四):OpenTelemetry 语义约定,即字段映射(1)
  • 中国​​2771个县级行政区​​的​​月度CO₂排放数据(2013–2021)
  • 现代R语言【Tidyverse、Tidymodel】的机器学习方法
  • TrOCR: 基于Transformer的光学字符识别方法,使用预训练模型
  • 基于Ubuntu22.04源码安装配置RabbitVCS过程记录
  • python实现Markdown转化PDF的方案
  • Windows8.1安装哪个版本的vscode?
  • 电脑插上u盘不显示怎么回事
  • 阿里云OSS预签名URL上传与临时凭证上传的技术对比分析
  • 前端基础——B/S工作原理、服务器与前端三大件
  • C++ :vector的介绍和使用
  • 管家婆软件价格跟踪管理:查询、新增、修改、删除
  • 小架构step系列18:工具
  • 抗辐照与国产替代:ASM1042在卫星光纤放大器(EDFA)中的应用探索
  • 相机长焦个短焦
  • gin数据解析和绑定
  • CentOS 7 配置环境变量常见的4种方式