こんにちは。
RPGツクールMZ(RPG Maker MZ)の通常コマンドによる入力判定をまとめてみる企画第3回目。今月中にはサンプルを完成させたい!
今回は長押し判定。これを知ると3つの入力分岐、”押されている”、”トリガー”、”リピート”の違いがより理解できると思います。
※イベントの組み方は様々であるためここの方法が最善とは限りません。予めご了承ください。
前回の記事を見た方は「ん?」と思うかも知れませんね。前回はボタンを押している間判定を続けるというものだったので長押しと言ったら同じように思えるでしょう。
前回の記事↓
違いは長押し”だけ”を捉え、短時間の入力は判定しないというところです。
短時間押したときと長押しした時でアクションを変えたい場合なんかに使えると思います。
RPGツクールMZの”ボタンがリピートされている”の条件分岐はボタンを押した瞬間も有効判定とします。その後もボタンを押し続けた場合、24フレーム以降に再度判定をするというものです。
ボタンを押した瞬間(トリガー)の判定を取り除くには下の画像のAの部分のように”ボタンがトリガーされている”の条件分岐の”それ以外”のところに”ボタンがリピートされている”の条件分岐を入れます。分岐の”それ以外”の作り方は前回やりましたね。
そしてリピートの条件の中にボタンが押されたことを識別するためのスイッチを仕込みます。例では5番スイッチの”STEP3長押し”ってやつです。
これで分岐構造は完成かと思いきや、そうではありません。
実は"ボタンがリピートされている”の条件はボタンが長押しされているとき、TRUE(有効)とFALSE(無効)の判定結果を繰り返すのです。
そのため今までのように1度実行したら並列処理の条件スイッチをオフにするような仕組みにしていた場合(Bの部分を5番スイッチオフ、4番スイッチオフにする)、長押しを1度判定したらそれっきりになってしまいます。
そうしたい場合もあるでしょうからそれはそれでいいのですが、長押し判定後もTRUE判定のみを継続させたい場合はBの構造が必要になります。
”ボタンが押されている”の判定、つまり前回やったやつを入れ込んでいるんですね。こうすると長押し後にこの部分が働き、長押しを続けたとき有効判定が継続されます。
ちなみに6番スイッチは5番スイッチとほぼ同じ動きになり代用可能なので無くても構いません。
これで”押されている”、”トリガー”、”リピート”の違いがかなり理解できたのではないでしょうか。
今回はここまで。ありがとうございました。
まだまだできることはあるぞ…いそげいそげ!(;´Д`)