芯☆淡茹水 发表于 2015-5-30 07:42 ![]()  
用 @active_battler 来判断  
 
def start_phase5     # フェーズ 5 に移行     @phase = 5     # バトル終了 ME を演奏         #因一些情况 @active_battler 为 nil ,或 @active_battler 是敌人时     #(敌人中毒死亡全灭时)。     #说话者 speaker 为角色队伍顺序第一个存在的角色。     if @active_battler.nil? or @active_battler.is_a?(Game_Enemy)       for actor in $game_party.actors         if actor.exist?           speaker = actor           break         end       end     #其他情况,说话者 speaker 为当前战斗行动者。     else       speaker = @active_battler     end         if ACTOR_WIN_VOICE.key?(speaker.id)         name = ACTOR_WIN_VOICE[speaker.id][0]         volume = ACTOR_WIN_VOICE[speaker.id][1]         pitch = ACTOR_WIN_VOICE[speaker.id][2]         Audio.se_play("Audio/SE/" + name, volume, pitch)       end       #在结束战斗回合 start_phase5 适当的地方,附上上面这段,然后根据 speaker     #的名字或ID判断要播放的SE.。            $game_system.me_play($game_system.battle_end_me)     # バトル開始前の BGM に戻す     $game_system.bgm_play($game_temp.map_bgm)     # EXP、ゴールド、トレジャーを初期化     exp = 0     gold = 0     treasures = []     if @active_actor != nil       @active_actor.blink = false     end 
 
 def start_phase5  
    # フェーズ 5 に移行  
    @phase = 5  
    # バトル終了 ME を演奏  
   
   
    #因一些情况 @active_battler 为 nil ,或 @active_battler 是敌人时  
    #(敌人中毒死亡全灭时)。  
    #说话者 speaker 为角色队伍顺序第一个存在的角色。  
    if @active_battler.nil? or @active_battler.is_a?(Game_Enemy)  
      for actor in $game_party.actors  
        if actor.exist?  
          speaker = actor  
          break  
        end  
      end  
    #其他情况,说话者 speaker 为当前战斗行动者。  
    else  
      speaker = @active_battler  
    end  
   
      if ACTOR_WIN_VOICE.key?(speaker.id)  
        name = ACTOR_WIN_VOICE[speaker.id][0]  
        volume = ACTOR_WIN_VOICE[speaker.id][1]  
        pitch = ACTOR_WIN_VOICE[speaker.id][2]  
        Audio.se_play("Audio/SE/" + name, volume, pitch)  
      end  
   
    #在结束战斗回合 start_phase5 适当的地方,附上上面这段,然后根据 speaker  
    #的名字或ID判断要播放的SE.。     
   
   
    $game_system.me_play($game_system.battle_end_me)  
    # バトル開始前の BGM に戻す  
    $game_system.bgm_play($game_temp.map_bgm)  
    # EXP、ゴールド、トレジャーを初期化  
    exp = 0  
    gold = 0  
    treasures = []  
    if @active_actor != nil  
      @active_actor.blink = false  
    end  
 
  
 
同尝试修改了下……根据speaker赋值给予了id,然后分别根据id来判断actor对应的语音文件,但实际测试的时候只能发出1号角色的se,求修改…… |