事前のお知らせ

RPGツクールMZ

RPGツクールMZでスキル発動前にアクターにアニメーション表示

こちらの記事はRPGツクールMZ向けです。
RPGツクールMV向けの記事もございます。

YEP Battle Engine Core の機能の1つに、必中、物理攻撃、魔法攻撃の直前にアニメーションを再生させるものがあります。
これに近い動作をさせる方法をご紹介します。
この動作は小規模のカットインと考えると、理解しやすいです。

使用プラグイン

発動前コモン(やな様作)

plugin.fungamemake.com/archives/2033
スキルやアイテムの発動前に、スキルやアイテムに設定されたコモンイベントを発生させます。
※MV用のプラグインですが、ターン制戦闘に限定してMZでも動作します。
※MV用のプラグインですが、MZでも動作します。

アクター編

コモンイベント作成

今回はコモンイベント1にスキル使用アクターにアニメーション51を再生するスクリプトを入れます。

◆スクリプト:let targets = [];
:     :const param = $gameVariables.value(11);
:     :this.iterateActorIndex(param, actor => {
:     : targets.push(actor);
:     :});
:     :$gameTemp.requestAnimation(targets, 51);
◆ウェイト:1フレーム

$gameVariables.value(11)は変数ID11の値を取得していますが、これは発動前コモンのデフォルトで、使用者のインデックスを代入しているので、そのまま使用しています。
プラグインパラメーターで別変数を指定した場合、IDに合わせて変更してください。
実行後にウェイトを入れないと、アニメーション再生が完了しないうちにアクターが前進しはじめてしまいます。

スキル設定

スキルのメモ欄にタグを入れます。
今回はコモンイベントID1なので、
<BeforeCommon:1>
と入れます。

敵キャラ編

コモンイベント作成

今回はコモンイベント2にスキル使用敵キャラにアニメーション51を再生するスクリプトを入れます。

◆スクリプト:let targets = [];
:     :const param = $gameVariables.value(11) - 1000;
:     :this.iterateEnemyIndex(param, enemy => {
:     : targets.push(enemy);
:     :});
:     :$gameTemp.requestAnimation(targets, 51);
◆ウェイト:1フレーム

敵キャラのインデックスは発動前コモンの仕様でインデックスに1000足されるので、実行時に引いています。
アクター同様にウェイトを入れています。
敵キャラが動くようなプラグイン等を入れていない場合、ウェイトは必要ありません。

スキル設定

アクターと同様にスキルにタグを入れます。
今回はコモンイベントID1なので、
<BeforeCommon:2>
と入れます。

共通のスキルを使用する場合の条件分岐

敵とアクターが同じスキルを使う場合、条件分岐を使うことで実行スクリプトを分けることが出来ます。
変数ID11が敵が行動した場合に1000足されるので、1000未満の場合はアクター、1000以上の場合は敵キャラと分岐させています。

◆条件分岐:実行者 < 1000
◆スクリプト:let targets = [];
:     :const param = $gameVariables.value(11);
:     :this.iterateActorIndex(param, actor => {
:     : targets.push(actor);
:     :});
:     :$gameTemp.requestAnimation(targets, 51);
◆ウェイト:1フレーム

:それ以外のとき
◆スクリプト:let targets = [];
:     :const param = $gameVariables.value(11) - 1000;
:     :this.iterateEnemyIndex(param, enemy => {
:     : targets.push(enemy);
:     :});
:     :$gameTemp.requestAnimation(targets, 51);
◆ウェイト:1フレーム

:分岐終了

フロントビュー戦闘

下記プラグインを使用すると、フロントビュー戦闘でもアクターの顔画像にアニメーションが再生されます。
今回のアニメーションも反映されるので、フロントビュー戦闘の臨場感が増します。

フロントビューで味方側にも戦闘アニメを表示(Ruたん様作) - TorigoyaMZ_DisplayAnimationInFrontView.js

plugin-mz.fungamemake.com/archives/932
サイドビューの処理の一部をフロントビューでも動作させることで、戦闘アニメが表示されるようにします。

スポンサードリンク

スポンサードリンク

-RPGツクールMZ

Copyright© RPGツクールMZ・MV初心者的備忘録 - FGMG (Fun Game Make Group) , 2023 All Rights Reserved.