ゲームのサウンドトラックを作成しています。勝利ファンファーレの後に勝利BGMをループ再生させ、マップ画面に戻ったら停止させることは可能でしょうか?もしRMXPの標準機能では不可能な場合、そのような動作を実現するためのスクリプトはありますか?
デフォルトでは不可能ですが、スクリプトを使えば可能です。
少し試してみましたが、少なくともデフォルトのスクリプトでは問題なく動作するようです。
class Scene_Battle
# ----- 設定 ------
# 名前, ボリューム, ピッチ
BATTLE_END_BGM = RPG::AudioFile.new("033-Ship01", 100, 100)
# -- 設定ここまで --
alias oz_battleendsong_start_phase5 start_phase5 unless $@
def start_phase5
# 一時的に曲を置き換え、戦闘終了時に再生する
_old_map_bgm = $game_temp.map_bgm
$game_temp.map_bgm = BATTLE_END_BGM
# 元のメソッドを呼び出し
oz_battleendsong_start_phase5
# 元の曲に戻す
$game_temp.map_bgm = _old_map_bgm
end
alias oz_battleendsong_battle_end battle_end unless $@
def battle_end(result)
# マップBGMを再再生する
$game_system.bgm_play($game_temp.map_bgm)
# 元のメソッドを呼び出し
oz_battleendsong_battle_end(result)
end
end
ありがとうございます。本当にうまく動きました!