新建一個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時才會增加。