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的时候废除,所以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
Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等的更多相关文章
- Unreal Engine 4(虚幻UE4) GameplayAbilities插件入门教程(一)
本文系笔者的实习生分享会内容预备兼GameplayAbilities的初学者教程. 本文适合已有四十天UE4开发经验的初学者. 参考资料:https://wiki.unrealengine.com/G ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(三)技能标签(Ability Tags)
本教程参考了https://wiki.unrealengine.com/GameplayAbilities_and_You,如果没有学习前两篇教程,请前往学习. GameplayAbilities插件 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(二)
我们接着学习.如果没有学习第一篇,请前往学习. 由于GameplayAbilities插件基本上没有资料(除了前面提供的那篇Dave的博文以外,再无资料,有迹象表明Dave是这个插件的开发者). 这个 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(四)技能屏蔽和简单的Buff等
本节内容继续上一节教程的内容(如果没有看过前面的教程,请前往学习),不会讲太难的新东西,而是继续探究技能标签(Abiilty Tags)的内容.先来一道开胃菜. 第1.1步: 将上一次的召唤冰龙中的C ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(六)GameplayEffect的级别设置
本节的内容不难,权当是复习.如果没有完成前面的教程,请前往学习. 第一步:用一个csv文件表示级别数据,下图中的Hurt随级别1~7表示其损伤值在1~7级别时分别是-7,-14,-20等.写好之后关闭 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(五)技能属性集(AttributeSet)
如果没有完成前面的教程,请前往学习.先上一段理论介绍(源于https://wiki.unrealengine.com/GameplayAbilities_and_You#GameplayTasks): ...
- 无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]
无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...
- 无废话ExtJs 入门教程七[登陆窗体Demo:Login]
无废话ExtJs 入门教程七[登陆窗体Demo:Login] extjs技术交流,欢迎加群(201926085) 在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下. 1.代码如下: ...
- RabbitMQ入门教程(七):主题交换机Topics
原文:RabbitMQ入门教程(七):主题交换机Topics 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog. ...
随机推荐
- EF通用数据层封装类(支持读写分离,一主多从)
浅谈orm 记得四年前在学校第一次接触到 Ling to Sql,那时候瞬间发现不用手写sql语句是多么的方便,后面慢慢的接触了许多orm框架,像 EF,Dapper,Hibernate,Servic ...
- mybatis中$和#java代码演示
MyBatis mapper文件中的变量引用方式#{}与${}的差别 内容来源:http://blog.csdn.net/szwangdf/article/details/26714603 默认情况下 ...
- java中的流程控制语句总结
程序的结构分类: 顺序结构:按照写代码的顺序 一次执行 选择结构:根据条件的不同有选择的执行不同的代码 循环结构:在一定条件下 反复执行某一片代码 选择结构: 也叫分支结构 根据条件的不同,有选择的执 ...
- 关于Atlassian无法注册的问题,请看过来
好多童鞋在用团队构建工具git的时候,必然用到git的可视化工具sourceTree来管理项目一些操作,那么当我们下载完sourTree的时候,会有一个选择,已有账户登录还是免费账户,免费账户只有三十 ...
- Iterator invalidation(迭代器失效)
一.vector 所有读操作.swap.std::swap:都不会引起迭代器失效... clear.operator=.assign:都会引起全部变量迭代器失效 reserve.shrink_to_f ...
- springMvc <form action="">提交跳转路径问题
表单提交后,action的URL写的是, login/login.do,每次跳转后都变成login/ login/login.do,很显然是相对路径没有搞清楚. 应该弄清楚相对路径,并在JSP代码中加 ...
- php 面向对象的三大特性
<?phpheader("Content-type:text/html;charset=utf-8");/*封装目的:为了使类更加安全做法:1.将成员变量变成私有2.做一个成 ...
- java面试基础题(三)
程序员面试之九阴真经 谈谈final, finally, finalize的区别: final:::修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此 ...
- C# 调用cmd.exe的方法
网上有很多用C#调用cmd的方法,大致如下: [c-sharp] view plaincopy private void ExecuteCmd(string command) { Proces ...
- tcp_wrapper 总结
一. 简介 tcp_wrapper:tcp包装器, 工作于库中的. 访问控制 工具/组件 : 传输层 和 接近于应用层; 仅对使用tcp协议且在开发时调用了libwrap相关的服务程序有效. 二. 判 ...