本節及后面的內容將會探索更加有意思的內容,更加逼近實際的使用的內容。我們本節內容不難,講的是釋放Ability時的信息傳遞:
第一步:創建一個GA稱為GA_AOE_BlindVengeance,復仇忌婚。
第二步:其中的邏輯如下:
知識點:其中的Avatar是指Target(受作用者)。
是不是有點熟悉,AbilityActorInfo是什么?我們翻到之前的代碼,可以看到最重要的兩個信息是此技能的釋放者和技能的受作用者。
第三步:編譯運行即可查看,證實了這些重要信息是可用的。
下一組實驗介紹一些簡單的內容,當做復習。
第4.1步:在復仇忌婚Ability中修改邏輯,並注意修改Cost,讓我們來探索一下什么是Cost。
第4.2步:運行,然后查看:
這個小實驗說明:
當提交(CommitAbility[或者CommitAbilityCost])時,Cost規定的GE將會施加在Owner上,也就是說,這里的“花費”是一個GE_Milk,所以人物就有了血量增加的效果。
下一組實驗介紹Trigger:
第5.1步:創建一個新的Ability,稱為:GA_Lieyanzhiniao2,並且有給人物加Buff的能力。
第5.2步:在復仇忌婚Abiilty中修改Trigger,如下,表示當Buff.Fire被增加時觸發。
第5.3步:編譯運行查看效果,發現當執行烈焰之鳥時,人物增加FireBuff,於是觸發了復仇忌婚,在邏輯上是這樣的。在時序上,則是先發生復仇忌婚,因為是加上了Buff之后再執行烈焰之鳥的激活邏輯,而此前復仇忌婚就被觸發了。
再進行一組實驗。
第6.1步:新建一個GA_Baoyanfenghuang2爆炎鳳凰,需要Buff.Fire前提。
第6.2步:烈焰之鳥將會給character添加Buff.Fire,注意Ability沒有DurationPolicy的概念,這個添加上去的Buff將會在EndAbility的時候廢除,所以Delay為1表示在1秒以內持續這個Buff。
第6.3步:保持復仇忌婚(GA_AOE_BlindVengeance)的觸發機制,同時加上延時邏輯。
運行查看結果:觸發烈焰之鳥,然后看到復仇忌婚被激活,烈焰之鳥提供的firebuff失效(因為1秒鍾過去了,你可以用爆炎鳳凰來查看是否失去了firebuff),隨后查看到復仇忌婚結束。
第6.4步【對照實驗】:修改復仇忌婚的觸發效果為OwnedTagPresent,再次實驗,可以發現看不到“10s等待完畢”。總結:觸發機制是“OwnedTagAdded”的,表示當Tag添加時觸發事件;
“OwnedTagPresent”表示當Tag添加時觸發,若激活期間(EndAbility之前),這個Tag被移除了,那么就被強制結束。
——小江村兒的文傑 zouwj5@qq.com 2017年7月20日20:31:27