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

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

相关推荐
UI设计兰亭妙微9 小时前
兰亭妙微|B端表单设计:UI设计公司中的场景化布局指南,提升用户填写效率
ui·b端界面设计·高端网站设计
颯沓如流星16 小时前
前端 UI 组件专业术语科普指南
前端·ui
幽络源小助理20 小时前
PS网页版源码_在线Photoshop源码_Nginx免环境部署_支持PSD
nginx·ui·photoshop
吴梓穆21 小时前
UE5 材质参数集
ue5·材质
weixin_4046793121 小时前
虚幻5 学习笔记
笔记·学习·ue5
吴梓穆21 小时前
UE5 PBR模式半透明效果
ue5
AC赳赳老秦21 小时前
OpenClaw与Axure联动:自动生成原型图组件、批量修改原型样式,提升设计效率
python·web安全·ui·音视频·axure·photoshop·openclaw
UI设计兰亭妙微1 天前
兰亭妙微|UI设计公司视角下的绿色:跨越千年的色彩叙事,从禁忌到希望的蜕变
ui
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_64:从 object 到 iframe 的嵌入技术全面解析
开发语言·前端·javascript·ui·html·音视频
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_63:(Web 中矢量图形的完整指南)
前端·javascript·数据库·ui·html