WOLF RPGエディター(ウディタ)[3.333]/イベントコマンド【サイトトップへ戻る】 ■キー入力 (更新:2024/05/04) イベントコマンド【キー入力】について解説します。 【キー入力】の使用例は別ページに記載しています。 ■イベントコマンド【キー入力】とは? 【キー入力】はプレイヤーが押したキー(キーコード)を取得したり、 自動キーで指定したキーを自動的に実行したり、キー入力の禁止/許可を設定したりする時に使います。 コモンイベントにある「メニュー画面」「戦闘画面」「お店の画面」などのキー処理には、この【キー入力】が設定されています。 以下のキー処理は【キー入力】ではなく、ウディタの内部(実行ファイル)でキー入力を処理しています。
▲トップへ戻る▲ ■システム変数の一覧 【キー入力】に関連する「システム変数」の一覧です。 変数名をクリックすると詳細情報を見る事ができます。 【システム変数の説明ページを見る】
▲トップへ戻る▲ ■キーコードについて キーボードのキーには、3桁のキーコードが設定されています。 【キー入力】を使えば、ほぼ全てのキーコードを取得する事ができます。 しかし使用するのが難しいキーも存在しており、全てのキーが自由に使えるわけではありません。
ノートパソコンのキーボードの場合は、いくつかのキーが省略されている事があります。 省略されたキーは、[Fn]キーを押しながら特定のキーを押す事で使用する事ができます。 以下は[Fn]キーなどで切り替えないと使えない可能性があるキーを赤く表示しています。 テンキーが無い場合は、キーボードの切り替え操作により、 [L]や[P]がある辺りがテンキーの代わりになる事があります。 しかしキーの縦配列が斜めになっているため、テンキーと同じように使うには慣れが必要です。 テンキーを含め、なるべく特殊なキーを使わなくても問題なくゲームが進められるようにした方が良いでしょう。 ゲームを動かす時に使うキーには、3桁のキーコードとは別のキーコードが用意されています。
キーボード以外のキーコードとして、マウスの操作には「20〜22」、ゲームパッドのボタンには「300以上」が用意されています。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:代入先変数 キーコードを取得する変数を設定します。 キーが押されていない場合は、変数には「0」が設定されます。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[基本(決定/キャンセル/サブ/方向)] 「方向キー」「決定キー」「キャンセルキー」「サブキー」が押されているかどうかを調べる時に使います。 方向キーはどの種類のキーを取得するかを設定してください。 方向キーを読み取る必要が無い場合は「受け付けない」を選択してください。 複数の方向キーを読み取る設定を行っていて、複数の方向キーを同時に押した場合は、 最後に押されたキーコードを取得します。 「決定キー」「キャンセルキー」「サブキー」のキーコードを取得する場合は、 各チェックボックスにチェックを入れてください。 なお… 方向キーと決定キーの同時押しに対応させる場合は…
システム変数[52〜54]にキーコードを設定する事で、 「決定キー」「キャンセルキー」「サブキー」の対応するキーを変える事ができます。 例えば…
▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[キーボード全キー(100〜)] 「キー種[キーボード全キー(100〜)]」を設定すると、キーボードにある多くのキーコードを取得する事ができます。 2つ以上のキーを押すと、キーコードの小さい方が優先的に取得されます。 例えばキーコード[132]を押し続けている時にキーコード[130]を押すと「130」を取得します。 キーコード[130]を押し続けている時にキーコード[132]を押した場合も「130」を取得します。 もしもキーコード[130]と[132]を同時に押しても両方が取得できるようにする場合は…
「特定のキーのみ判定」をOFFにした状態の「キー種[キーボード全キー(100〜)]」を設定しても、 全てのキーを取得する事はできません。 ▼「特定のキーのみ判定」をOFFにした状態で取得できるキー 取得できないキーは「特定のキーのみ判定」を使って1つずつをキーコードを取得してください。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[マウスクリック・座標] マウスのクリックや座標位置を取得します。
マウスのクリックや座標位置の取得は、イベントコマンド【変数操作+】でも取得する事ができます。 【変数操作+】の方では、クリックを「押し始めた」か「押し続け」かを読み取る事ができます。 マウスのX座標・Y座標に関しては、システム変数[71〜72]でも取得する事ができます。 システム変数[71〜72]の場合は、マウスポインタの位置の取得だけではなく、 システム変数[71〜72]に値を設定する事で、指定した位置にマウスポインタを移動させる事もできます。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[パッドボタン(300〜)] ゲームパッドのボタンが押されているかどうかを調べる時に使います。 ゲームパッドはパッドの形状により、どのボタンがどのキーコードになるのかが異なります。 以下はキーコードの一例です。 初期設定では、決定キーは[301]、キャンセルキーは[302]、サブキーは[303]になっています。 左スティックや十字キーの操作は、キーボードの方向キーと共有しているので、 単に左スティックや十字キーで操作している方向を知りたい時には、キーボードの方向キーを調べれば分かります。 左右スティックの傾けている角度などを細かく知りたい時には、キー種[アナログスティック]を使ってください。 キーボードの方向キーとゲームパッドの十字キーを別々に取得したい時には、キー種[POV十字キー]を使ってください。 [309]と[310]はスティック部分を上から押した時のキーコードです。 [333]と[312]はLRトリガーの取得になりますが、[333]と[312]は「トリガーを引いているかどうか」を調べるだけであり、 「トリガーをどれくらい引いているのか」を細かく知りたい時には、キー種[アナログスティック]を使ってください。 右側に6つのボタンがあるゲームパッドでキーコードを確認した所… と言ったキーコードになり、 4つのボタンの時にはLRボタンになっていた[305][306]が、 6つボタンの時にはLRボタンでは無い設定になりました。 「[305][306]=LRボタン」と言った設定でゲームを作成しても、実際にはゲームパッドの形状によっては、 「[305][306]=LRボタン」にはならない可能性があります。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[アナログスティック] ゲームパッドに付いているアナログスティックの傾きや角度を取得する時に使います。 通常の左スティックはキーボードの方向キーと共有しているので、単に上下左右の操作を取得する場合は、 キー種[基本(決定/キャンセル/サブ/方向)]による「方向キー」で取得する事ができます。 しかしスティックの傾きなどを取得したい時には、このキー種[アナログスティック]を使います。 なお、キーボードの方向キーとゲームパッドの左スティックを別々に処理したい時には、 事前にシステム変数[135:左スティックで方向入力オン?[1=ON]]の値を「0」にする必要があります。
設定名にある「XInput」や「DirectInput」はゲームパッドの規格を表しており、ざっくり説明すると、 「XInput」は2005年に発売されたゲーム機「Xbox 360」のゲームパッドから採用された新しい規格で、 「DirectInput」の方は2005年以前からある規格です。 「DirectInput」の方は、ウディタでLRトリガーの引いている量を取得できないなどの問題があります。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[POV十字キー] ゲームパッドの十字キーの押している方向を取得する時に使います。 通常のゲームパッドの十字キーはキーボードの方向キーと共有しているので、 キー種[基本(決定/キャンセル/サブ/方向)]の「方向キー」でもゲームパッドの十字キーの操作を取得する事ができます。 しかし二人対戦ゲームなどで、キーボードの方向キーとゲームパッドの十字キーを別々に取得したい時には、 このキー種[POV十字キー]を使ってゲームパッドの十字キーのキーコードを取得します。 なお、キーボードの方向キーとゲームパッドの十字キーを別々に処理したい時には、 事前にシステム変数[134:POVキーで方向入力オン?[1=ON]]の値を「0」にする必要があります。 ▲トップへ戻る▲ ■設定画面の説明:キー入力受け付け:キー種[複数タッチ認識] 画面をタッチした時のXY座標を取得する時に使います。 ※「Windows10」で動作テストを行っています。 タッチ操作の座標取得は、例えばゲーム画面のサイズが「320×240[x2]」の場合、 タッチしてゲーム画面の外に指を移動しても、X座標の最小値は「0」、最大値は「320」となり、 X座標がマイナスになったり、「320(画面サイズ)」より大きい値になる事はありません。 またゲーム画面の外に指を移動しても、タッチの状態は維持されます。 一応10本の指を全てウディタの画面上に置いてみましたが、10本の指の座標を全て取得する事ができました。 パソコン画面のタッチ操作は、マウスの操作と同じ扱いになっており、 実際に画面にタッチすると、そのタッチした位置にマウスポインタが移動し、 タッチした指を動かすと、それに連動してマウスポインタの表示位置も移動します。 タッチ操作中のマウスポインタの表示は、Windowsの仕様により、自動的に透明になります。 タッチ操作によるマウスポインタの連動は、1つ目のタッチが対象となっており、 1つ目をタッチし続けた状態で2つ目をタッチしても、2つ目の位置にマウスポインタが移動する事はありません。 画面をタッチし続けると、画面上に四角い画像が表示されました。 この四角い画像はWindowsの仕様によって表示されており、 「(Windows画面左下の)スタート > 設定 > 簡単操作 > マウスポインター」にある 「タッチのフィードバックを変更する」の設定がオンになっている事が原因です。 この「タッチのフィードバックを変更する」の設定は、ウディタ側の操作で変える事ができないため、 もしも四角い画像を表示しないようにする場合は、ウディタのゲームプレイヤーがそれぞれでオフにする必要があります。
「タッチ何番?」は画面にタッチした順に番号が割り振られ、座標や追跡用IDの取得に使います。 追跡用IDと似ている感じがしますが、追跡用IDの方はタッチする度にIDの値が増えていくのに対し、 タッチ何番?の方は現在タッチしている数によって、 3箇所タッチしている場合は「0〜2」を使用し、 5箇所タッチしている場合は「0〜4」を使用します。 例えば、1つ目のタッチを行うと…
1つ目のタッチを維持した状態で2つ目をタッチすると…
2箇所のタッチを維持した状態で3つ目をタッチすると…
ここで2つ目のタッチを離すと…
2箇所のタッチを維持した状態で新たにタッチすると…
全てのタッチを離すと…
▲トップへ戻る▲ ■設定画面の説明:キーが押されるまで待つ 指定したキーが押されるまで、処理が一時停止します。 並列実行や自動実行の場合で「キーが押されるまで待つ」を設定して処理を止めたくない場合は、 「キーが押されるまで待つ」を設定せずに、キーを押すごとに1回だけ【キー入力】が実行されるように設定してください。
上記処理では、決定キーを押していない時には、セルフ変数[1]が「1」になり、 セルフ変数[1]が「1」の時には1回だけデバッグ文「決定キーの処理を実行」が実行します。 ▲トップへ戻る▲ ■設定画面の説明:自動キー入力:基本入力 チェックを付けたキーを押した時と同じ状態で処理します。 例えばマップ移動時に…
もしも主人公を移動させる場合は、【イベント制御】にある[■キャラ動作指定]を使ってください。 ▲トップへ戻る▲ ■設定画面の説明:自動キー入力:キーボード 指定したキーコードのキーを押した時と同じ状態で処理します。 例えばキーコード[283](PrintScreen)を実行すると、スクリーンショットが実行されます。 ▲トップへ戻る▲ ■設定画面の説明:自動キー入力:マウス 指定したマウスの処理を実行します。 例えば… ゲーム画面のサイズが「320×240[x2]」の時に「X100ピクセル」「Y80ピクセル」を実行すると、 「X50ピクセル」「Y40ピクセル」のように、半分の距離に修正されます。 「自動キー入力」でマウスの位置を設定しても、実際のマウスポインタの位置は変わりません。 マウスポインタの位置を変えたい時には、システム変数[71・72]を使ってください。 ホイールは奥に回した場合はプラス値、手前に回した場合はマイナス値になります。 ▲トップへ戻る▲ ■設定画面の説明:キー入力の許可/禁止:基本入力 キーの入力の禁止、または許可(禁止の解除)を実行します。 設定を変更したい「決定」「キャンセル」「サブ」「←」「↑」「↓」「→」のチェックボックスにチェック入れて、 右上のコンポボックスから、どのように変更するのかを選択してください。
「移動時」のキーは、主人公を移動させる方向キーやマップイベントを実行する決定キーなどが対象になります。 例えば…
メニュー画面の表示は【キー入力】で行っているため、 「移動時×」+「キャンセル」を設定しても、メニュー画面は表示されます。 ▼コモンイベント[126:X[移]歩行時_並列キー処理]の22行目 また方向キーの入力を禁止にしている時にメニュー画面を開くと、方向キーの禁止が解除されます。 これはコモンイベント[126:X[移]歩行時_並列キー処理]の45行目で…
▲トップへ戻る▲ ■設定画面の説明:キー入力の許可/禁止:入力デバイス 指定したキーコードの入力を禁止、または許可します。 「-1」を実行すると全てのキーを禁止、または許可します。 マウスやゲームパッドの入力を禁止する設定も可能です。 キーコード[283](PrintScreen)やキーコード[319](Windows)のキー入力を禁止にしても、 スクリーンショットやWindowsのスタート画面が開く処理は実行されます。 ▲トップへ戻る▲ ◎関連ページ ◆「イベントコマンド」って何? ┣◆文章の表示 ┃┗◆特殊文字 ┣◆選択肢 ┃┗◆【使用例】選択肢 ┣◆変数操作 ┃┗◆演算子について ┣◆DB操作 ┣◆文字列操作 ┃┗◆【使用例】文字列操作 ┣◆変数操作+ ┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い ┃┣◆【使用例】変数操作+の「キャラ」と「位置」 ┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」 ┣◆条件(変数) ┣◆条件(文字列) ┣◆キー入力 ┃┗◆【使用例】キー入力 ┣◆ピクチャ ┃┗◆表示形式(通常・加算・減算・乗算)について ┣◆エフェクト ┃┣◆「Zオーダー」について ┃┗◆【使用例】エフェクト ┣◆サウンド ┣◆セーブ・ロード操作 ┣◆パーティ画像 ┣◆チップ処理 ┃┗◆【使用例】チップ処理 ┣◆場所移動 ┣◆イベント制御 ┃┣◆キャラクターの動作指定 ┃┗◆【使用例】イベント制御 ┣◆コモンイベント ┣◆ダウンロード ┗◆プロ版機能 ┗◆起動時の引数について |