こんにちは。
今回から始まりますこの企画はRPGツクールMZ(RPG Maker MZ)の通常コマンドでのキー入力(ボタン入力)判定についてまとめてみるという挑戦企画です。
なぜこれをやろうと思ったかと言いますと前回の記事で取り上げた文化祭で出すものをどうしようかと悩んだ末、出展物の1つはサンプルプロジェクトでも作ろうと思ったのですが、自分ができるネタで且つ間に合いそうなものって言ったらこれかなと思ったからです。ミニゲーム的なものをつくり、サンプルプロジェクトはおまけという位置づけにする予定。
*解説内容はRPGツクールでスクリプトは使わないものの、変数やスイッチなどの基本を知っている方向けくらいのものになります。
※今後作成するサンプルプロジェクト次第で記事の内容を書き換える場合があります。
それで解説記事もあればある程度役に立つものになるのではないかと考えました。以前も同じような記事を書いたことはありますが、スクリプトを使ってたりしたので今回はもっと簡単でまとまりのある内容にするのが目標です。
ちなみに以前の記事(応用的なものです)↓
時間も限られてるしちゃんとしたものになるかどうかはわかりませんがやれるだけやってみようと思います(`・ω・´)
(もし完成したら記事内の日記的なところは削るかも知れません)
キー入力判定とはゲームにおいてプレイヤーがコントローラのボタンやキーボードのキーを入力した際にゲーム側が”このキー(ボタン)が押された”と判定することです。
ほとんどのゲームはこの判定結果別にどんな処理をするかを分岐させることでゲームが成り立っているわけですね。
RPGツクールMZではこういったことを意識しなくてもRPGを作ることはできますが、イベントコマンドによるこの処理の作成法を押さえておくと凝ったギミックやRPG以外のゲームすら作れる可能性が生まれてくるのです。
ただし労力や処理速度などの諸問題があるので”なんでも”って訳には行きませんが、ミニゲームを組み込むだとか、APRGを作るだとかってことは可能だと思います。
今回は1回目なのでコマンドにどんなものがあるか、と基本的な使い方の紹介にします。
キー入力判定は”条件分岐”によって行います。イベントコマンドの条件分岐を選んで4ページ目のところにある”ボタン”という選択肢。
ボタンの種類を選ぶリストが左側にあって、右側は以下の3つがあります。
・○○が押されている
ボタンを押している間は常に押されていると判定。
・○○がトリガーされている
ボタンが押された瞬間、1回押されたと判定。長押しでも1回とする。
・○○がリピートされている
ボタンが押された瞬間、1回押されたと判定し、その後も押し続けられていた場合(24フレーム以上)は押されていると判定を繰り返す。
このコマンドは基本的に”並列処理”のイベント内に組み込みます。並列処理のイベントっていうのは条件を満たす限り繰り返されるイベントです。通常の1回だけのイベントだと判別されるのが一瞬のみになってしまうため、並列処理を使ってキーが押されているかどうかを”監視”するのです。
なにはともあれ試してみよう!
下のようなコモンイベントを作っておき、他イベントでスイッチ1をONにすると決定キーが押された際にメッセージが表示されるようになります。
最後にスイッチ1をオフにしているので1回きりの判定です。そのため”トリガーされている” や ”リピートされている” でも同じ挙動になります。
これが基本のかたちとなります。
これだけでも文章コマンドの部分を置き換えれば決定キーでHPが回復する、なんてこともできたりしますよね。
STEP1は以上です。ありがとうございました。
しっかりした計画を立てずにスタートしてしまいましたがおそらくやや駆け足でやらねばならないと思います。断念するにしても早めに決断しないとどうにもならなくなりそう…(。-`ω-) できれば1か月以内で終わらせるか、断念するかしたいと思っています。