こんにちは。
RPGツクールMZ(RPGMakerMZ)でプラグイン・スクリプトを使わない入力判定作成メモ&サンプルプロジェクト企画、第9回目となりました。
サンプルとミニゲーム制作のほうは昨日完了しました!制作期間は24日。これは自己最短記録です。1か月以内が目標だったので達成!よく頑張った!えらくね?
さて今回が最終章となります。今まではマップシーンと言われる場面での入力判定を取り扱ってきましたが、最後に戦闘シーンでの入力判定をやってみようと思います。
戦闘シーンとは名前の通り、RPGに於いて敵と戦う場面のことですがこの戦闘シーンではコモンイベントの並列処理は働きません。
並列処理を行うならプラグインが必要になるわけですが、処理を「キー入力判定」に限定するならばなんとか通常コマンドで可能です。
例ではSTEP8のコマンド入力を戦闘シーンで行うため、まずはSTEP8と同じ内容の判定・ピクチャ表示・ピクチャ切替・リセットのコモンイベントを用意します。
判定のコモンイベントはトリガーを並列処理ではなく”なし”にします。
リセットのコモンイベントにはコマンド完成時にファイアの魔法を使うようにしたかったため「戦闘行動の強制」というイベントコマンドを入れています。そしてSTEP8とは違い、制限時間を設けて失敗のパターンを入れたかったので条件分岐を加えています。
コマンドインデックス=4 は即ちコマンド完成時。
戦闘コマンドカウント=0 は即ち制限時間が切れた時。
戦闘コマンドカウントは後述しますがコマンド開始時からカウントダウンしていく変数で、0のときの分岐内に失敗時の処理を入れます。といっても成功時との違いはSEと「戦闘行動の強制」の中身だけ。
「戦闘行動の強制」の中身は”コマンド失敗”というスキルを割り当てています。何もせず「失敗した」という戦闘メッセージだけが出る”コマンド失敗用のスキル”を作っているのです。
メッセージが不要ならこのスキルも失敗時の行動の強制も要りません。
判定・ピクチャ切替・リセットの3つのコモンイベントはコマンド判定する際には常に走らせておきたいイベントです。
並列処理はできないのでコレをどうするかというとバトルイベントで呼び出します。
スパンをモーメントにして常に走らせたいコモンイベントを並べます。それから時間計測用に変数の操作を一つ。カウントアップでもカウントダウンでもどちらでも構いませんが前述で0になったらタイムオーバーとしたように今回はカウントダウンにしています。
例ではカウント変数は300から始まりこのバトルイベントにより1ずつ減少、リセットコモンイベント内で180のとき、120のとき、60のときに音を鳴らしてカウントダウンらしさの演出をしています。
ここまでできたらあとはコマンド判定をスタートしたいときに ピクチャの初期表示・カウント変数の初期値設定・判定開始スイッチのONをするだけ。
サンプルではスキルによって発動するようにしました。
スキルは使用効果でコモンイベントを呼び出すことができます。ここで呼び出すコモンイベントでピクチャの初期表示・カウント変数の初期値設定・判定開始スイッチのONをしているのです。
こんな感じになります↓
ただ、これは並列処理じゃないのでタイムプログレスでコマンド入力中でも敵が攻撃してくる、みたいなシステムは作れません。
戦闘シーンでどうしても並列処理が必要なシステムを作る場合はプラグインが必須になってくるので通常イベントコマンドだけではこのあたりが限界であろうと思われます(個人の見解です)。
以上となります。全9回、キー入力関係について通常イベントコマンドでできることは知る限りをなるべく簡潔にまとめてきたつもりです。
並列処理が密接な関係にあるのでどうしても難しくなってしまいがちなのですが、ここまできたらある程度は並列処理についても理解できたのではないかと思います。
次回は番外編としてちょっとだけスクリプトにも触れたいと思います。
それでは。
ノーカラーコート むずい・・・なんだコレ・・・ムズい・・・。