【手順】
―― 【1】イベント作成 ―― まずマップ選択で「サンプルマップA」に切り替えてください。 分かりやすいところにイベントを作成します。 グラフィックはニワトリにしましょう。 (参考:【決定キーで起動するイベント】) |
―― 【2】キー入力の受け付け ―― イベントウィンドウの右下にある 「■ コマンド入力ウィンドウ表示 ■」をクリックして イベントコマンド入力ウィンドウを開いてください。 左側一覧から「9 キー入力」をクリックして選択します。 キー入力受け付けの、代入先とキー種はそのまま、 方向キーのプルダウンをクリックして「受け付けない」を選択してください。 その下にある4つのチェックボックスは、全てクリックして入れておきます。 出来ましたらウィンドウ右下の入力をクリックしましょう。 ※「キーが押されるまで待つ」にチェックが入っていると、 キー入力コマンドのところでいったん処理が止まり、 設定されたキーが押されるまでは以降の処理が実行されません。 |
―― 【3】入力の判定(条件分岐) ―― 【2】の設定で、キー入力が行われると[このEv:セルフ0]に結果が代入されています。 その数値によってどのキーが押されたのか、 あるいは押されていないのかを判断できるという事です。 今度はウィンドウ左から「7 条件(変数)」を選び、設定しましょう。 分岐を3つ使うので、左側チェックボックスを条件3つ分まで選択しておきます。 数値は、上からそれぞれ「10」「11」「12」と同じに設定して、 右下の「入力」をクリックです。 |
―― 【4】各分岐内の文章を作成 ―― 次に各分岐の中身を作っていきます。 イベントウィンドウを見てください。 まずこのEvセルフ変数0が10と同じ場合から設定しますので、 クリックしてカーソルを移動しておきます。 コマンド入力ウィンドウの左から「1 文章の表示」を選択しましょう。 「決定キーが押されました」と入力します。 同様に、11と同じ場合は「キャンセルキー」が、 12と同じ場合は「サブキー」が押された時です。 それぞれ入力していきましょう。 |
これで完成です。 マップをセーブしてテストプレイしてみましょう。 まずイベントに話しかけます。 この時点では移動できなくなるだけで何も変化はありませんが、 決定・キャンセル・サブキーのどれかを押してみてください。 押したキーに対応した文章が表示されれば成功です。 お疲れ様でした。 |
【問題が発生した場合】 ◆何も表示されずに、キャラクターを動かせた。 イベントの起動条件が間違っている。 もしくは「キーが押されるまで待つ」のチェックが外れている可能性があります。 確認しましょう。 |
【余談】 ・キーが押されるまで待たない場合の注意点 「キーが押されるまで待つ」機能を使用しない場合、少しだけ注意が必要です。 コマンドを入れたループや並列イベント内に2フレーム以上のウェイトがあると、 毎フレーム判定を取得する事が出来ません。 つまり、キーを押しても反応してくれないタイミングが発生してしまいます。 そんな時は、別に専用の並列イベントを用意するか、 イベントの呼び出しなどを利用して毎フレーム判定ができる環境を整えましょう。 ・複数のキー入力を同時に扱うには? 1つのキー入力で複数のキーを受け付けようとすると、 優先順位によって上書きされてしまい、結局1つ分しか取得する事ができません。 しかし、代入先変数を変更した複数のキー入力コマンドを利用すれば、 同時に複数のキー入力を取得できます。 これを利用する事で、キーの同時押しを判定できます。 ■関連項目 【複数のキーが同時に押されたかどうかを取得したい】 |
<執筆者:七海>