zoukankan      html  css  js  c++  java
  • Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等

    本节及后面的内容将会探索更加有意思的内容,更加逼近实际的使用的内容。我们本节内容不难,讲的是释放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的时候废除,所以Delay1表示在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

  • 相关阅读:
    python之数据结构汇总
    【JDBC核心】数据库连接池
    【JDBC核心】数据库事务
    【JDBC核心】批量插入
    【JDBC核心】操作 BLOB 类型字段
    【JDBC核心】获取数据库连接
    【JDBC核心】JDBC 概述
    【Java基础】基本语法-程序流程控制
    【Java基础】基本语法-变量与运算符
    【Java基础】Java 语言概述
  • 原文地址:https://www.cnblogs.com/JackSamuel/p/7214353.html
Copyright © 2011-2022 走看看