芯☆淡茹水 发表于 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,求修改…… |