Project1

标题: 请问这个循环的问题在哪里? [打印本页]

作者: jianyulei    时间: 2017-2-12 16:24
标题: 请问这个循环的问题在哪里?
本帖最后由 jianyulei 于 2017-2-12 16:38 编辑

为什么队伍人数越多最后得出的数的倍率就越高?1个人的时候计算得到的数是正常算法的3倍,2人是4倍,3人5倍。
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2. $fangyu_shuzu = Array.new(3,0)
  3. alias fangyu_on_turn_end on_turn_end
  4.   def on_turn_end
  5.       fangyu_on_turn_end      
  6.       (0..2).each do |i|
  7.          if $game_party.members[i]
  8.            $fangyu_shuzu[i] += ($game_party.members[i].element_rate(27)*10).to_i
  9.          end
  10.       end
  11.   end
  12. end

尝试过其他写法,但都没用,唯有写进公共事件然后放到on_turn_end里面才正常
作者: taroxd    时间: 2017-2-12 17:02
因为队伍里每个角色都要执行一遍 Game_Battler#on_turn_end
作者: QQ蚊子湯    时间: 2017-2-12 17:12
順帶一提 因為敵人也要執行

所以你會看到多2是因為史萊姆兩隻吧(通靈)




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