Project1

标题: MV的技能,连击次数问题。 实际上想问技能动画相关。 [打印本页]

作者: 卡奥尼特    时间: 2024-3-25 14:51
标题: MV的技能,连击次数问题。 实际上想问技能动画相关。
MV的技能/物品的连击机制不像 VA 那样。


MV的技能/物品在实际使用的时候,就很怪。

我同时在VA那边新建了一个工程,也进行测试一番。


VA使用技能时,则先显示一次动画后,再进行伤害结算。 如果技能的连击为9,会继续结算。不会重复播放技能动画。

MV就… 不太一样了。 如果有连击次数,MV则会将这个技能动画进行重复播放,如果连击次数为9,技能动画则会重复播放9次,播放完毕后,才会进行伤害结算。

出现这样的情况是什么原因啊? 有办法解决嘛?
作者: koumei    时间: 2024-3-25 22:21
不知道有没有支持这种技能的插件,突然发现自己也需要

但是看了下,可能是战斗流程原因。
在每一个角色的回合(turn)(BattleManager.updateTurn)
1、会先播放行为动画(BattleManager.startAction -> this._logWindow.startAction),修改流程状态为(action)
2、接下来(updateAction)执行行为(invokeAction),计算行为结果(invokeNormalAction -> _action.apply),接着播放动画(displayActionResults)
3、下个回合

【问题】是,播放动画他不是即时的,而是给 _logWindow 打标记,放入任务队列,每一个 update 做一个任务,
动作 action 的结果 result 也只有一份,所以一个角色的所有动作都用一个数据
结果就是,如果只是简单的增加攻击次数,最后播放动画会根据最后一次攻击结果作为显示依据
例如攻击两次,-4 HP  -1 HP,它最后会显示 -1HP ,但是实际 -5 HP

解决的话,可能需要
1、对技能做备注标记,执行计算 action 的时候,安排 _logWindow  的动画播放队列
2、对动作结果做一个序列,在消耗结果的时候只消耗一个序列
这样子

作者: xiamumomo    时间: 2024-3-26 20:32
用Drill_AnimationInParallel     动画 - 并行战斗动画这个插件没记错可以解决你的问题




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1