Paragon 的连招系统的基础变量:
bool comboflag
bool isattacking
int attackPeriod

玩家按下攻击键,检测 isattacking
如果 isattacking == false,设置 isattacking=true,然后根据 attackPeriod 进入对应的 play montage
isattacking 作为阀门,因此你可以“高速连按攻击键,但是始终在播放一段动作”
如果 isattacking == true,设置 comboflag=true,为连招的发生提供信息
然后在“攻击montage”的中间设置通知事件:如果角色的 comboflag=true,那么 comboflag=false,然后 attackPeriod++,然后根据 attackPeriod 进入对应的 play montage
这样如果你高速连按攻击键,那么在“攻击montage”的中间,检测到了你 comboflag=true,就会播放下一段连招 montage
最后在“攻击montage”的尾部设置通知事件:comboflag=falseisattacking=false,attackPeriod=0。这样如果一段攻击 montage 播放完,你还没有按攻击键,那么重置连招系统
如果你要连招,那么是先触发这段 montage 的第一个通知事件,而第一个通知事件会让你进入下一个 montage,因此当你正常连招的时候就不会触发每段 montage 的第二个通知事件

而当我想再加多一个 montage,作为冲刺动画,我发现当我在攻击的时候冲刺,那么接下来就没有办法继续播放攻击动画了

这就是一个多 Montage 之间的协作问题。我的冲刺 montage 把攻击 montage 给中断了,那么攻击 montage 尾部的通知事件就不会被激活,那么连招系统就不会被重置,那么每次我触发攻击事件的时候,都会认为 isattacking == true,然后设置 comboflag=true,就结束了,没有进入到蒙太奇的部分。

解决方法就是在每个要播放的 Montage 之间加判断,判断播放新的 Montage 的时候是否需要补全其他的 Montage 的通知事件

图1 攻击蒙太奇_1


图2 动画蓝图 动画通知事件->连招系统


图3 连招系统重置事件


图4 在冲刺蒙太奇播放的时候判断是否需要补全攻击蒙太奇的通知事件

[UE4]多个Montage之间存在协作问题相关推荐

  1. 线程的状态转换、sleep()、wait()、yeild()、终止线程的方法、线程之间的协作(join()、wait() notify() notifyAll()、await() signal() )

    1.线程的状态转换 1.1 新建(New) 创建后尚未启动 1.2 可运行(Runnable) 可能正在运行,也可能正在等待 CPU 时间片. 包含了操作系统线程状态中的 Running 和 Read ...

  2. Java协作开发,Java开发学习笔记之八:servlet之间的协作

    servlet与servlet,servlet与JSP(其本质也是servlet)之间需要合作.主要因为以下几个原因: 1.当Web程序比较复杂时,使用一个servlet来完成所有的功能显然是不合理的 ...

  3. V2X、OBU、RSU、V2V之间的协作关系

    [自动驾驶]1.V2X.OBU.RSU.V2V之间的协作关系_Mister Zhu的博客-CSDN博客_obu和rsu 1. V2X.OBU.RSU.V2V 名词术语解释 OBU: On Board ...

  4. 【自动驾驶】1.V2X、OBU、RSU、V2V之间的协作关系

    1. V2X.OBU.RSU.V2V 名词术语解释 OBU: On Board Unit 车载单元 RSU: Road Side Unit 路侧单元 V2V: Vehicle to Vehicle 车 ...

  5. 如何解决各部门之间沟通协作的障碍

    现代社会是信息化的社会,沟通作为信息传递的媒介起到了越来越重要的作用,有效的沟通也越来越受到了重视.在企业内部也是如此.尤其是在企业分工细化.部门设置增多.组织结构趋于扁平化的情况下,跨部门沟通逐渐频 ...

  6. 价格逗号怎么打_OFFICE软件之间的协作技巧,打通任督二脉,提升办公效率!

    每一个软件都有各自所擅长的领域,比如Word的文字处理,比如Excel的数据处理,比如PPT的图像处理. 如果你非要使用PPT去做数据处理,用Excel做文字处理--只能事倍功半. 所以高效使用工具最 ...

  7. BrainNet:脑-脑接口用于人与人之间直接协作

    华盛顿大学(Universityof Washington)和卡内基梅隆大学(CarnegieMellon University)等多家研究机构的研究团队提出了BrainNet,据研究人员表示他们是第 ...

  8. BrainNet:用于人与人之间直接协作的多人脑对脑接口

    华盛顿大学(Universityof Washington)和卡内基梅隆大学(CarnegieMellon University)等多家研究机构的研究团队提出了BrainNet,据研究人员表示他们是第 ...

  9. 【多线程】四种种方案实现多线程之间相互协作的通信

    在并发编程中,经常会遇到多个线程之间需要相互协作的情况,即并不是多个线程同时执行,而是按照一定的顺序循环执行的情况. 那么怎样去实现这种效果呢?这里介绍三种方案. 这里都以子线程循环10次,然后主线程 ...

最新文章

  1. Intel Optane(tm) Memory Pinning 无法加载DLL“iaStorAfsServiceApi.dll“:找不到指定模块。(异常来自HRESULT:0x8007007E)
  2. 记一种数据库水平扩展的技巧
  3. openresty package.path require 报错
  4. unc 隐藏共享文件夹_你真的了解任务栏吗?win10任务栏居然隐藏了这么多小窍门...
  5. leetcode题库:2.两数相加
  6. 表格细线边款(HTML、CSS)
  7. PyTorch1.2.0版本来啦!居然还有全套视频!让你快速熟练掌握深度学习框架!
  8. VS2015 经常不出现智能提示,代码颜色也没有了
  9. 增量式pid调节方式有何优点_PID控制在变频器驱动系统中的应用
  10. javaweb项目设计文档
  11. 基于Springboot+mybatis+lyaui实现学科竞赛管理系统【详细设计--附完整源码】
  12. VS2008安装部署应用程序安装包制作过程
  13. 服务器删除东西直接找不到了,重新安装T1后,用了一天半,又出现演示版到期的问题了-重新删除T1PFLS服务后,怎么找不到服务器-esrv-Gh....exe文件?...
  14. 大数据治理包括哪几个方面
  15. 无法激活服务,因为它不支持 ASP.NET 兼容性
  16. 直接让Windows注销的脚本
  17. X86_64 GNU汇编、寄存器、内嵌汇编
  18. CMD常用命令大全(old)
  19. IDEA插件系列(20):Grep Console插件——显示多颜色调试日志
  20. 书签同步工具android,「效率工具推荐」跨平台在线云书签管理工具

热门文章

  1. Java进阶 | IO流核心模块与基本原理
  2. 华为云TaurusDB性能挑战赛-java赛题mvn编译时报错:不支持 diamond 运算符
  3. django-websocket 安装及配置
  4. 9.特殊权限 软连接 硬链接
  5. python之rabbitMQ
  6. Double.valueOf()与Double.parseDouble()两者的区别
  7. .net 实现Cookie跨域共享,单点登录SSO
  8. 《Java特种兵》1.8 老A是在逆境中迎难而上者
  9. 怎么hold住版本质量
  10. [MS bug]安装SQL Server 2008 错误:is not a valid login or you do not have permission