Project1

标题: 全体动画怎么样一个个的显示动画伤害。 [打印本页]

作者: 你最珍贵    时间: 2013-11-5 14:05
标题: 全体动画怎么样一个个的显示动画伤害。
本帖最后由 你最珍贵 于 2013-11-11 21:19 编辑

RM默认的全体动画是全部人一起显示。
怎么让把全体动画改成一个人一个人的显示

[qq]1781206631[/qq]
作者: 流浪杰哥    时间: 2013-11-5 23:43
就像FC吞食天地2一样,计策对全体使用的那个动画,一个一个显示动画,目前那个吞食天地参考工程里面有那个效果,我说的是计策动画
作者: 你最珍贵    时间: 2013-11-11 21:20
自顶啊  花擦
作者: yagami    时间: 2013-11-11 23:16
本帖最后由 yagami 于 2013-11-11 23:42 编辑
  1.     #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (主回合步骤 3 : 行动方动画)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase4_step3
  5.     # 行动方动画 (ID 为 0 的情况下是白色闪烁)
  6.     if @animation1_id == 0
  7.       @active_battler.white_flash = true
  8.     else
  9.       @active_battler.animation_id = @animation1_id
  10.       @active_battler.animation_hit = true
  11.     end
  12.     @temptarget.clear
  13.     for target in @target_battlers
  14.       @temptarget.push(target)
  15.     end
  16.    
  17.     # 移至步骤 4
  18.     @phase4_step = 4
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 刷新画面 (主回合步骤 4 : 对像方动画)
  22.   #--------------------------------------------------------------------------
  23.   def update_phase4_step4
  24.     a = @temptarget.pop
  25.     a.animation_id = @animation2_id
  26.     a.animation_hit = (a.damage != "Miss")
  27.     @phase4_step = 5 if(@temptarget.empty? )
  28.     @wait_count = 8
  29.   end
复制代码

作者: 774741359    时间: 2013-11-11 23:20
本帖最后由 774741359 于 2013-11-11 23:26 编辑

好吧,撸完逛逛6R发现问题。
大家都知道默认战斗系统中“动作表”是执行动作的顺序,按理说对每一个敌人都打一下应该是打完这个打那个。
其实不然,BattleAction的对象索引是一个数组,这也就代表对象并不是仅仅的一个怪,他很可能是一堆怪。
楼主的问题病根在此,一次行动对所有敌人同时(也有先后顺序)发出攻击,动画当然就同时播放了。

然后说说怎么解决。
解决方法其实也简单了,不用大动干戈重写啦什么的。
只要把一个动作拆成多个动作即可。比如以前的一个动作对对面五个敌人攻击,现在拆开,分成五个。虽然这五个动作都是同一个角色发出的。
在Scene_Battle 中,动作列表在回合开始就分好位置一人一个了(敌人,玩家均有份)
我们只需要对这个行动表进行一下处理即可。
循环遍历这个表,如果发现该行动的目标索引大于1个敌人。那么就把他拆开,有几个敌人拆几个敌人。
然后追加到这个行动的后面,就达到了预定的效果。

这是具体的解决方法,本人也没有进行实际测试。脚本就更没有啦。
如果LZ需要的话,我会抽点时间来看看。仅此。

LS用的方法是:把有多个目标的动作分开执行,要比我的方法好多了,请采用。
我还是修行不够,刚才撸过头了 。哎悲催 烧烤节
作者: 774741359    时间: 2013-11-12 13:37
本帖最后由 774741359 于 2013-11-12 13:39 编辑

范例: 范例_全体动画独立播放.zip (204.23 KB, 下载次数: 63)
@yagami 的方法遗漏了伤害,就是动画独立播放但是伤害是一起显示的(等所有人的动画都播放完。)
总觉得怪怪的。所以改了改。
动画和伤害一起显示。




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