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.pswp.cn/news/915096.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915096.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915096.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue.js 國際化 (i18n) 實踐:讓你的應用走向全球,多語言支持如此簡單!

文章目錄一、為何你的 Vue.js 應用需要“說多種語言”?國際化的重要性二、Vue I18n 基礎實踐:從零開始搭建多語言環境2.1 安裝 Vue I18n2.2 配置 Vue I18n 實例2.3 在組件中使用翻譯三、進階實踐:讓國際化更強大、更靈活3.1 動態語言切換3.2 …

在CentOS7.9服務器上安裝.NET 8.0 SDK

在 CentOS 7.9 系統上手動安裝 .NET 8.0 SDK(使用本地的 dotnet-sdk-8.0.101-linux-x64.tar.gz 文件),可以按照以下步驟進行操作。由于 CentOS 7.9 已不再被微軟官方支持,可能會遇到依賴庫版本問題(如 GLIBCXX 和 GLIB…

HarmonyOS-ArkUI Web控件基礎鋪墊4--TCP協議- 斷聯-四次揮手解析

HarmonyOS-ArkUI: Web組件加載流程1 HarmonyOS-ArkUI Web控件基礎鋪墊1-HTTP協議-數據包內容 HarmonyOS-ArkUI Web控件基礎鋪墊2-DNS解析 HarmonyOS-ArkUI Web控件基礎鋪墊3--TCP協議- 從規則本質到三次握手-CSDN博客 接上文,上文我們講解了: 數據在…

如何用AI 生成論文/書籍的摘要

不知道大家是否有這樣的感覺,上網瀏覽信息,看到好的文章就興奮地下載了下來,文件的名稱通常是一串奇奇怪怪的字符串。過了幾天就在電腦中找不著了。沒有網絡上搜索不到的文章,而是在你的電腦中卻找不到它們。幾年下來,…

ubuntu系統+N卡 | docker compose+ollama+dify(dify和ollama在同一容器)

1、安裝NVIDIA驅動 2、安裝docker,docker compose 3、安裝NVIDIA Container Toolkit Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit(僅 GPU 場景需要) # Configure the production repository: curl -fsSL https://…

實習手記:基于大模型的搜索引擎開發實踐

初入團隊:從理論到實踐的跨越五月份開始,我懷著忐忑又期待的心情以線上的方式加入了公司AI研發中心的搜索引擎優化小組。作為一名數據科學與大數據技術專業的學生,這是我第一次參與工業級AI項目的開發,團隊的任務是構建一個基于大…

用Python實現神經網絡(二)

#Overfitting是機器學習的主要問題。下面我們來看一下過擬合現像:import numpy as npimport matplotlib.pyplot as pltimport matplotlib as mplimport tensorflow as tffrom scipy.optimize import curve_fit# Generic matplotlib parameters for plots and figure…

數據結構入門 (二):掙脫連續空間的束縛 —— 單向鏈表詳解

TOC(目錄) 引言:整齊的代價 在上一篇文章中,我們一起探索了數據結構大家族的第一位成員——順序表。我們了解到,順序表作為一種線性結構,其最大的特點在于邏輯順序與物理順序的一致性,即元素之間不僅存在邏輯上的前后關…

AI-視頻一致性與多幀控制在AIGC中的技術挑戰與突破!

全文目錄:開篇語前言1. 視頻中人物一致性建模的難點與現有解決方案**人物一致性建模的挑戰****現有解決方案****案例代碼:基于姿態估計的多幀一致性保持**2. 光照/紋理/姿態跨幀保持方法剖析**跨幀光照與紋理一致性****跨幀姿態一致性**3. 幀間插值與關鍵…

基于Qwen2.5-3B-Instruct的LoRA微調與推理實戰指南

前言 大語言模型(LLM)的微調是當前AI領域的熱門話題,而參數高效微調方法(如LoRA)因其低成本和高效率備受關注。本文將手把手教你如何使用Qwen2.5-3B-Instruct模型進行LoRA微調,并構建完整的推理流程。 一、環境準備 1.1 硬件要求 ? GPU: 至少16GB顯存(如…

電腦插上u盤不顯示怎么回事

對于經常使用電腦的用戶來說,U盤是一種再熟悉不過的存儲工具。不管是拷貝資料、備份文件,還是制作啟動盤,U盤都發揮著重要作用。然而,有時候你可能會遇到這樣的情況:“U盤插上電腦,燈亮了,但電腦…

2025年6月GESP(C++二級): 冪和數

2025年6月GESP(C++二級): 冪和數 題目描述 對于正整數 n n n,如果 n n n 可以表為兩個

Windows、macOS、liunx下使用qemu搭建riscv64/linux

背景 在Windows、macOS和Linux環境下使用QEMU搭建RISC-V 64位Linux系統,網絡上存在大量過時、不完整或錯誤的教程。且部分AI生成的內容“幻覺”現象嚴重,導致關鍵步驟錯誤且難以進行。為確保可靠性,本教程基于最新實測驗證,涵蓋三…

簡單使用MCP

1、說明# 測試環境服務器 CPU數量:2核 內存:4GB 磁盤:50GB# 補充 如果不想使用Docker進行操作,只需要跳過Docker相關命令操作 即:使用Ollama運行模型,使用Python來創建MCP2、安裝Docker# 安裝Docker https:…

電腦裝機軟件一鍵安裝管理器

軟件使用 現在的裝機軟件很多,主要幾種類型就是辦公、看圖、影音、下載等,如果每次裝機之后,手動一個一個去安裝,費時費力還容易安裝到全家桶。 就有人整理了網絡上常用的一系列裝機軟件純凈和諧版本,并打包到一起&a…

深度學習入門-深度學習簡介

深度學習是加深了層的深度神經網絡。只需通過疊加層,就可以創建深度網絡。1、 加深網絡將深度學習中的重要技術(構成神經網絡的各種層、學習時的有效技巧、對圖像特別有效的CNN、參數的最優化方法等)匯總起來,創建一個深度網絡&am…

Linux 下安裝DM8數據庫詳細教程

Linux 下安裝DM8數據庫詳細教程 一、環境準備 1.操作系統要求 DM 數據庫支持多種操作系統,如 Windows、Linux 等。對于 Linux 系統,確保內核版本符合要求,例如 CentOS 7 或更高版本。同時,要保證系統有足夠的磁盤空間(建議至少 10GB 以上)和內存(至少 1GB 以上)。 對…

搭建基于Gitee文檔筆記自動發布

搭建基于Gitee文檔筆記自動發布由于現在gitee不支持代理靜態頁面,并且github.io需要VPN,實際使用的話gitee更為方便。一、為服務器和個人PC添加免密push和pull 參考鏈接:https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE…

【Lua】閉包可能會導致的變量問題

先思考下面這個問題:local function counter()local count 0return function()count count 1return countend endlocal a counter() local b counter()print(a()) --> ? print(a()) --> ? print(b()) --> ? print(a()) --> ?輸出結果&#xff…

可觀測性、OpenTracing、OpenCensus、OpenTelemetry、Jaeger

監控與觀測 隨著軟件應用從單片架構向分布式微服務體系轉變,應用監控(Monitoring)和觀測(Observability)的需求也隨之提升。兩者存在相同的定義,目的都是為了發現應用程序中的問題。但還是有差別: 監控:目的是為了捕獲已知的問題…