UE4_fUI_血條 耐力條


新建一個UI,用來展示玩家的血條和耐力條

先大概的畫一下

 

 去關卡藍圖里應用一下,再細調

 

 

最終弄成了這個樣子(略丑)

 

 

外觀先不管了,先做血條的邏輯

每個percent bar的值都一個綁定,可以通過綁定函數賦值

 

 

打開之后重命名一下,寫入邏輯

注意,因為HP是1-100,所以變成percent時要乘上0.01

 

 可以正常使用

 

 

 

血條比較簡單。接下來處理耐力條

關於耐力條的想法是,攻擊和格擋都會消耗耐力條,耐力條為空時不能進行格擋和攻擊。而且我想根據不同的武器設置不同的耐力消耗。

不進行攻擊或格擋 2秒后開始逐漸恢復耐力條。

先做空手的,

在Player里新建一個float變量,叫str,用來代表玩家耐力值,寫入相同的邏輯

 

 在攻擊后進行判斷,是否持有武器,如果沒有武器(Unarmed),就將耐力值減10

 

 另外兩種攻擊方式也做相同的運算

然后是格擋,找到格擋傷害計算的藍圖,在后面加上減少耐力值的邏輯,(格擋時減少的耐力值相當於實際承受的傷害,因為格擋時承傷為正常承傷的一半)

 

 測試可以

 

 

然后考慮其他幾把武器的耐力消耗

因為拳頭已經是10了

匕首設為8,長劍設為15,長矛設為20,戰戟設為25(暫定)

在武器的數據表中添加這一項,命名為AttackCost

 

 補上有武器時候的邏輯。

 

另,因為想實現沖刺攻擊的時候消耗額外的耐力,所以把這部分邏輯移到了,動畫通知那里。

這是沖刺攻擊的時候,拳擊額外消耗5耐力,有武器時消耗體力為正常時候的1.5倍。

 

 

 

然后就是做限制了,當耐力值<=0時不可進行攻擊和格擋。

在攻擊前加一個判斷

 

在格擋前加一個判斷

 

 

嗯,測試也可行。

(耐力槽一空,就不能進行攻擊和格擋了)

 

 

 哦對了,把射線的預覽都關掉。

 

最后是耐力值的恢復


當脫戰3s后開始恢復體力。

脫戰分為兩個方面,一個是不挨打,一個是不打別人。

兩個都為True時才能夠恢復。

 

 用CanRecover1來代表挨打,當3s內不挨打就設為true,一旦挨打就設為false。這倆布爾值默認都可以設為true。

利用之前做的Gate,跟視角恢復一個節奏,3s不挨打,門開,耐力值和視野就開始恢復

 

 挨打就設為false

此處為DamagePass后繼邏輯的尾部。

 

 

用Can Recover2來表示我們不打別人。

一旦有攻擊的動作,就設為false

 

 延遲3s后,才設為true。

 

 

恢復的有點慢,0.1調到0.3.同時必須當我們耐力值<100時才會增加。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM