赞 | 5 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 0 |
最后登录 | 2024-5-8 |
在线时间 | 70 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 148
- 在线时间
- 70 小时
- 注册时间
- 2024-3-13
- 帖子
- 47
|
不知道有没有支持这种技能的插件,突然发现自己也需要
但是看了下,可能是战斗流程原因。
在每一个角色的回合(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、对动作结果做一个序列,在消耗结果的时候只消耗一个序列
这样子
|
|