アイストマトバズーカのゲーム制作日記

いろいろ超初心者がゲーム制作に挑戦。現在RPGツクールMZでフリーゲーム制作中。フリー素材も作って置いてます。

MENU

【RPGツクールMZ】スクリプト無しでも入力判定するのだ(`・ω・´) STEP6 連打判定

こんにちは。

 

RPGツクールMZ(RPGMakerMZ)でスクリプト・プラグインを使わない入力判定イベントの作成法をメモしておく企画第6弾です。

 

解説内容はRPGツクールでスクリプトは使わないものの、変数やスイッチなどの基本を知っている方向けくらいのものになります。

※イベントの組み方は様々であるためここの方法が最善とは限りません。予めご了承ください。

※キーとボタンという単語が混在しますが同じと思ってください。

他のステップ・サンプルプロジェクトはこちら!

 

サンプルパートはだいたい作り終え、STEP9 までの構成になりました。あとはミニゲームパートと記事ですね。

 

記事はらくがきを除いてどんなに早くてもいつも2時間はかかっているので(遅っ)なかなか進みませんががんばります( ・`д・´)

STEP9まで記事を書き終えたら固定のまとめリンクページも作りたいけどどうかな(;´Д`)

 

とりあえず進めましょう。

 

今回は連打されているときを有効判定とするイベントを作ります。前回同様にSETP4の時間計測を応用した仕組みで、簡単に言えばボタンが押されていないときの間隔を一定以内に維持したときに有効判定にするっていうものです。

 

計測イベントから。

ほぼ今まで通りなので簡単ですね。

決定ボタンの判定は"トリガー"。押されたかどうかの判定しか必要でないので時間計測はしておらず、カウントの限界値は不要。放カウントは時間計測なので一応100までにしていますがこれも正直別にって感じです(無制限にカウントするのがなんか気持ち悪いっていう個人的な好みの問題です)。

 

続いてSTEP6の肝となる連打を判定するコモンイベント。

押カウントが1のとき(=決定キーが押された時)に放カウントがあらかじめ設定した許容間隔以内かどうかを分岐で判別しています。

 

サンプルではこの連打判定イベントが開始されたときに許容フレーム数を40に設定しています。

 

間隔が許容範囲内であれば連打されているとして連打用カウント変数に1加算。

そして次の測定のために押カウント、放カウントを0に戻します。押カウント・放カウントのリセットは連打でない場合も行います。そうしないと何度決定キーを押しても連打判定されませんよね。

 

下の方の分岐、”連打カウント≧1”は連打開始後、という分岐でその中の"放カウント>連打許容間隔"が連打が止んだ時、という分岐なので「連打開始後に連打が止んだ時」ってことになります。後述のリセット用コモンイベントを呼び出し、連打カウントを0に戻しています。

 

なので連打カウントは"ボタンが連打された回数"(最初の1回は除く)で、連打カウントが1以上であれば"連打が継続している"という意味になることがわかるかと思います。

 

次に連打と判定したときにどうするか、のコモンイベント。

連打数によって4番のイベントの移動速度を変え、連打が継続されていればランダムに移動、としています。

 

同時にアニメーションもつけてみました。

最後にリセット用コモンイベント

連打が途絶えたときに呼び出すイベントなので並列処理ではありません。

中身は簡単で使用した変数を全て0に戻し、変化させた4番イベントの移動速度も元に戻して最後に判定イベント発動条件のスイッチをオフ、としています。4番イベントの位置も初期に戻すならイベントコマンドの"イベントの位置設定"でできるかと思います。

 

実行するとこうなります(決定キーを連打してます)。駆け回るブタが4番イベントです。

 

今回は以上です。ありがとうございました!

横向き描けない問題(・∀・)