【解決済み】MOG_BattleHud.jsで不要な効果音が再生されるバグについて

返信する
アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

【解決済み】MOG_BattleHud.jsで不要な効果音が再生されるバグについて

投稿記事 by 亜季色 »

MOG_BattleHud.jsのバージョン1.1に「不要な効果音が再生されるバグ」があったのですが、どのように修正すれば良いでしょうか?

・バグ手順
1.マップでアニメーションを再生する
2.フロントビュー戦闘に入る。戦闘開始時に、マップで表示したアニメーションの効果音がなぜか再生される

RPGツクールMZのバージョンは1.9.0。使用しているプラグインがこれのみの、新規プロジェクトで再現可能です。
サイドビュー戦闘では発生しません。

修正方法、あるいは修正済みのバージョンなどがあれば教えてください。
最後に編集したユーザー 亜季色 [ 2025年3月08日(土) 17:17 ], 累計 1 回
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: MOG_BattleHud.jsのバグについて

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
亜季色 さんが書きました:MOG_BattleHud.jsのバージョン1.1に「不要な効果音が再生されるバグ」があったのですが、どのように修正すれば良いでしょうか?

・バグ手順
1.マップでアニメーションを再生する
2.フロントビュー戦闘に入る。戦闘開始時に、マップで表示したアニメーションの効果音がなぜか再生される

RPGツクールMZのバージョンは1.9.0。使用しているプラグインがこれのみの、新規プロジェクトで再現可能です。
サイドビュー戦闘では発生しません。

修正方法、あるいは修正済みのバージョンなどがあれば教えてください。
マップ上でアニメーションを再生した時に、
プラグイン側で、アニメーションの再生待ちを記録するのですが、
アニメーションが再生された後に、この変数が初期化されずに残ってしまっています。
フロントビュー戦闘の場合、サイドビュー戦闘の場合とは違って、
プレイヤーに対するアニメーションを表示する機能がないので、これを実現するために、
アニメーション表示用のスプライトを作成するのですが、
この時に、アニメーションの再生待ちのデータが残ってしまっているので、
アニメーションを再生してしまうようです。
(ターゲットがないので、エフェクトは画面外に行ってしまい、効果音だけが聞こえる)

マップ上でアニメーションが再生されたら、再生待ちの変数を初期化するようにプラグインを改変します。

プラグインのバックアップを取ってから、
Java Script を編集できるソフトで開き、
以下の編集を行ってください。
  • 3251 行目あたりに、
    //=============================================================================
    // ■■■ Spriteset_BattleHud Base■■■
    //=============================================================================
    という部分があるので、その前に、以下のコードを挿入する

    コード: 全て選択

    //=============================================================================
    // ■■■ Spriteset_Map■■■
    //=============================================================================
    //=============================================================================
    // ♦ ALIAS ♦		processAnimationRequests
    //=============================================================================
    const _mog_bhud_Spriteset_Map_processAnimationRequests = Spriteset_Map.prototype.processAnimationRequests;
    Spriteset_Map.prototype.processAnimationRequests = function() {
    	_mog_bhud_Spriteset_Map_processAnimationRequests.apply(this, arguments);
    	$gameTemp._bhud_animationQueue = null;
    };
    
これで、正常になるのではないかと思います。

ご確認ください。
アバター
亜季色
記事: 44
登録日時: 2019年9月16日(月) 12:54

Re: MOG_BattleHud.jsのバグについて

投稿記事 by 亜季色 »

ありがとうございます!
音が鳴らなくなり正常に動作するようになりました!
返信する

“MZ:質問”に戻る