请选择 进入手机版 | 继续访问电脑版

 找回密码
 点一下
查看: 1696|回复: 6

怎样把施法动画改成取消会停止?

[复制链接]
发表于 2015-4-28 10:37:46 | 显示全部楼层 |阅读模式
War3_Mod 中的施法动画在技能取消后不会停止,仍然会完成剩下的动作,如下图
QQ截图20150428102635.jpg

我想做成技能取消后就自动停止播放动画,怎么实现?
发表于 2015-4-28 10:47:42 | 显示全部楼层
我的Mod并不存在A010这个技能,多半是你自己做的吧。

打断动画的方式实际上取决于动画播放方式。如果你是使用AnimPlay的话,AnimClear可以打断它。如果你是用AnimBracketStart播放的,那么AnimBracketClear就可以清除。而用AnimBracketStop的话则仍然会播放尾动画。

这两个都需要加参数,也就是你在播放动画时设置的动画标签。比如你AnimPlay了A和B两组动画,那么AnimClear A只会清除A组。

要注意你必须在每个可能的Stop阶段用这个消息。因为技能可能停止在准备(Prepare)阶段,也可以停止在施法(Cast)阶段和引导(Channel)阶段。三个事件都要齐备才行。

点评

在动画打断还会遇到个问题,若要在三个停止事件都要备齐 还得取决于SC2中的机制: A:准备开始--准备停止--施法开始--施法停止--引导开始--引导停止 B:准备开始(如果被取消则准备停止)--施法开始(如果被取消则  详情 回复 发表于 2015-4-28 11:07
这个A010技能是我自己做的,不过这个演算体是继承“War3_SimpleCastAnim” 好像没有AnimStop,到是有AnimClear [attachimg]164431[/attachimg]  详情 回复 发表于 2015-4-28 10:59
回复

使用道具 举报

发表于 2015-4-28 10:52:12 | 显示全部楼层
如果你只是想在移动式取消施法动画,那么只需要在单位本身的Actor里加上这两条,不需要额外地加什么在打断时停止的事件了。

<On Terms="UnitMovementUpdate.*.Walk" Send="AnimClear spell"/>
<On Terms="UnitMovementUpdate.*.Walk" Send="AnimBracketClear spell"/>

这里假设你的动画标签都是spell.

回复

使用道具 举报

 楼主| 发表于 2015-4-28 10:59:37 | 显示全部楼层
麦德三世 发表于 2015-4-28 10:47
我的Mod并不存在A010这个技能,多半是你自己做的吧。

打断动画的方式实际上取决于动画播放方式。如果你 ...

这个A010技能是我自己做的,不过这个演算体是继承“War3_SimpleCastAnim”

好像没有AnimStop,到是有AnimClear
QQ截图20150428105238.jpg

回复

使用道具 举报

发表于 2015-4-28 11:00:30 | 显示全部楼层
哦对是Clear,其实你只需要把我那两句XML复制到你的单位Actor上就对了。否则会变成每个技能都要检测三阶段的停止事件,比较麻烦。

点评

所以我还是做Actor上的好。谢谢头目!!  详情 回复 发表于 2015-4-28 11:09
回复

使用道具 举报

 楼主| 发表于 2015-4-28 11:07:08 | 显示全部楼层
麦德三世 发表于 2015-4-28 10:47
我的Mod并不存在A010这个技能,多半是你自己做的吧。

打断动画的方式实际上取决于动画播放方式。如果你 ...

在动画打断还会遇到个问题,若要在三个停止事件都要备齐
还得取决于SC2中的机制:
A:准备开始--准备停止--施法开始--施法停止--引导开始--引导停止
B:准备开始(如果被取消则准备停止)--施法开始(如果被取消则施法停止)--引导开始(如果被取消则引导停止)

如果SC2中的机制是A..那么在准备停止的时候就会打断动画了。。。B是类似war3中的机制..
回复

使用道具 举报

 楼主| 发表于 2015-4-28 11:09:06 | 显示全部楼层
麦德三世 发表于 2015-4-28 11:00
哦对是Clear,其实你只需要把我那两句XML复制到你的单位Actor上就对了。否则会变成每个技能都要检测三阶段 ...

所以我还是做Actor上的好。谢谢头目!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-3-28 17:37 , Processed in 0.500757 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表