第3步【在人物中打印,看看是否有拾取到远程技能】:在人物中,下面的蓝图应该不难看懂,不多解释,其中重要的节点是MakeGameplayTagQuery和DoesContainerMatchTagQuery。
第4步:运行测试,让人物去拾取所有的技能球,然后不断地打印,看看有没有技能。
以上的小实例仅仅是一个开胃菜,GameplayAbilities插件提供了超级复杂的技能系统。我们继续!
另一组探索:
第5.1步【创建Ability】:创建两个GameplayAbility(注意别搞错了),命名为“烈焰之鸟”和“召唤冰龙”。
第5.2步【AbilityTags的讲解】:在烈焰之鸟中配置AbilityTags为MagicFIre和RemoteBird,表示这个Ability有两个标签:魔法-火焰 和 远程-鸟。(请注意点击ClassDefault)
重要的讲解:Ability Tags决定了这个Ability的标签!简单来说就是这个Ability所具备的属性(或者分类)。
第5.3步【CancelAbiliesWithTags的讲解】:在召唤冰龙中配置它的技能标签(Ability Tags)以及“打断技能列表”(CancelAbilitieswithTags)。
这是什么意思呢?
凡是“召唤冰龙”被激活时,释放者actor(简单来说就是这个character)正在释放的所有火魔法技能将被打断。
我们希望召唤冰龙的时候,正在释放的烈焰之鸟被中断。怎么做呢?继续看:
第5.4步:召唤冰龙里的激活逻辑:
烈焰之鸟里的激活逻辑:
知识点:注意其中的EndAbility和OnEndAbility是很重要的节点。
上述逻辑表示:烈焰之鸟将要五秒钟的蓄力事件才能释放完毕。
第5.5步:在character中配置MyAbilities数组(这个不是天生就有的,它是作者自定义的类变量,如果不知道由来,请看之前的教程):配置烈焰之鸟和召唤冰龙的Ability。