ページ 11

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

Posted: 2018年4月17日(火) 21:05
by maker-b
皆様
大変お世話になっております。
タイトルの通り、お知恵を拝借したく書き込み致します。

バトルエンカウント時は
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();
};


この辺のような気がしましたが、いくらいじっても意図した結果になりません・・・

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

Posted: 2018年4月21日(土) 21:41
by フトコロ
こんにちは。

その関数に、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();    //マップ名のウィンドウが表示されていればそれを隠す
};


恐らく、それでうまくいくと思います。

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

Posted: 2018年4月22日(日) 11:11
by maker-b
フトコロ 様

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

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

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