【解決済み】エンカウント直後にバトルBGMを流したい

maker-b
記事: 112
登録日時: 2016年3月27日(日) 22:03
連絡を取る:

【解決済み】エンカウント直後にバトルBGMを流したい

投稿記事by maker-b » 2018年4月17日(火) 21:05

皆様
大変お世話になっております。
タイトルの通り、お知恵を拝借したく書き込み致します。

バトルエンカウント時は
1 エンカウント
2 音停止
3 バトルエンカウント音
4 エフェクト
5 画面切替
6 バトルBGM開始

のような流れと思っておりますが、この 1の段階ですぐにバトルBGMに切り替えたいと思っております。

スクリプトを見ていると

コード: 全て選択

Scene_Map.prototype.launchBattle = function() {
    BattleManager.saveBgmAndBgs();
    this.stopAudioOnBattleStart();
    SoundManager.playBattleStart();
    this.startEncounterEffect();
    this._mapNameWindow.hide();
};


この辺のような気がしましたが、いくらいじっても意図した結果になりません・・・
最後に編集したユーザー maker-b on 2018年4月22日(日) 11:11 [ 編集 1 回目 ]

アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: エンカウント直後にバトルBGMを流したい

投稿記事by フトコロ » 2018年4月21日(土) 21:41

こんにちは。

その関数に、BattleManager.playBattleBgm();を追加してみてください。

コード: 全て選択

Scene_Map.prototype.launchBattle = function() {
    BattleManager.saveBgmAndBgs(); //直前のマップ上のBGMBGSを保存
    this.stopAudioOnBattleStart();     //マップ上のBGMやBGSを停止
    SoundManager.playBattleStart();  //戦闘開始SEを鳴らす
    BattleManager.playBattleBgm();  //追加、これで戦闘BGMを再生
    this.startEncounterEffect();         //戦闘開始時の画面エフェクトを開始する
    this._mapNameWindow.hide();    //マップ名のウィンドウが表示されていればそれを隠す
};


恐らく、それでうまくいくと思います。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
maker-b
記事: 112
登録日時: 2016年3月27日(日) 22:03
連絡を取る:

Re: エンカウント直後にバトルBGMを流したい

投稿記事by maker-b » 2018年4月22日(日) 11:11

フトコロ 様

お世話になっております。
早速試しました!
気持ち早くなった気がします。
ただ、自分がイメージしているものは、
バトルエフェクトSEとほぼ同時にバトルBGMが始まる、というものでしたが、
この方法だと、画面が切り替わってからすぐBGMがはじまっている感じでした。

ただし、私のゲームは、バトルBGMはいろいろカスタマイズしているので、それが原因
かもしれません。

フトコロ様、ご協力頂きありがとうございました!

“MV:質問” へ戻る