[プラグイン] [Rpgmaker MV] キャラクター攻撃時にゲーム画面をスローモーションにする

使用ソフトウェア: Rpgmaker MV

敵が攻撃を受けたときにゲームの速度を落とすか、一時的にゲームをフリーズさせるプラグインを探しています。

より具体的に言うと、アクターの攻撃アニメーションが完了した直中または直後に、ゲーム画面の速度を遅くしたいのです。

私が求めている機能の例は、こちらのプラグインで実装されていますが、画面を振るのではなく、少しだけゲームの速度を落としたいのです。

これまでに、Google、Reddit、Steam でこの話題に関する投稿を見かけたことがないため、ここで質問させていただきました。アクターが攻撃した際にゲームを一時的に「フリーズ」させるプラグインやコードをご存知の方はいらっしゃいますか?

ご助言いただけますと幸いです!

これ専用のものも見つからなかったので、スタートポイントとして使える小さなプラグインを作ってみました。これを js/plugins フォルダ内に HitStop.js として保存してください(パラメータを読み取る際に名前が重要になるため、この名前にする必要があります)。その後、プラグインマネージャーで有効にします:

/*:
 * @plugindesc 敵がダメージを受けた際、戦闘を短く一時停止させる。
 * @param Frames
 * @desc 一時停止するフレーム数(60 = 1秒)
 * @default 10
 */
(function() {
    var frames = Number(PluginManager.parameters('HitStop')['Frames'] || 10);
    var hitStop = 0;

    var _Game_Enemy_performDamage = Game_Enemy.prototype.performDamage;
    Game_Enemy.prototype.performDamage = function() {
        _Game_Enemy_performDamage.call(this);
        hitStop = frames;
    };

    var _Scene_Battle_update = Scene_Battle.prototype.update;
    Scene_Battle.prototype.update = function() {
        if (hitStop > 0) {
            hitStop--;
            return;
        }
        _Scene_Battle_update.call(this);
    };
})();

このプラグインは、敵がHPダメージを受けた際に、数フレーム間、戦闘シーン全体を凍結(一時停止)させます。デフォルトのバトルシステムでは、攻撃アニメーションが終了した後にダメージが適用されるため、ご希望のタイミングで機能するはずです。

完全に停止させるのではなく、遅延させたい場合は、return; を if (hitStop % 2) return; に変更してみてください。これにより、隔フレームでのみ更新されます。ただし、YanflyのBattle Engine Coreや他のアクションシーケンス系プラグインと併用した場合の動作については不明です。それらのプラグインではタイミングが異なる可能性があります。