WOLF RPGエディター(ウディタ)/イベントコマンド【サイトトップへ戻る】
■【使用例】キー入力
(更新:2025/05/24)


イベントコマンド【キー入力】に関する使用例を紹介します。


ショートカット
■【使用例】2つのキーを同時押しでイベント実行
「キー入力受け付け」
■【使用例】2つのキーを3フレーム以内に同時押しでイベント実行
「キー入力受け付け」
■【使用例】「キーが押されるまで待つ」を使わずに
      システム変数[15][16]を使った方向キーの【キー入力】の処理を設定
「キー入力受け付け」
■【使用例】キーボード入力を強制終了させる
「自動キー入力」



以下は【キー入力】を使った別のページにある使用例です。
クリックするとYADOT-WOLF内の別ページが開きます。

別ページの使用例
■自作メニューの基礎講座
「キー入力受け付け」



【キー入力】の基本説明は別ページに記載しています。
【キー入力の基本説明を開く】


  
「キー入力受け付け」
■【使用例】2つのキーを同時押しでイベント実行

[A]キーと[S]キーを両方押した時に、条件分岐内のイベントを実行させます。

どうちらかのキーを押し続けている時に、もう一方を押した場合も同時押しになります。

【イベントコード表示】

■コモンイベント

起動条件:並列実行(常時)

■キー入力:CSelf10[キーコード:A] [通常入力] キーボード(100〜) [キーコード[130]のみ判定] ( Aキー )
■キー入力:CSelf11[キーコード:S] [通常入力] キーボード(100〜) [キーコード[131]のみ判定] ( Sキー )
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 1 以上
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 1 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf11[キーコード:S] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キーコード:S] が 1 以上 ]の場合↓
||■デバッグ文:同時押し実行
||■
|◇分岐終了◇
|■
◇分岐終了◇



上記の設定では両方を押し続けていると「同時押し実行」が何度も実行されます。

もしも「同時押し実行」が1回だけ実行されるようにする場合は、以下のように設定してください。

なお、片方を押し続け、もう片方を押して離してを繰り返しても、同時押しが実行されます。

【イベントコード表示】

■コモンイベント

起動条件:並列実行(常時)

■キー入力:CSelf10[キーコード:A] [通常入力] キーボード(100〜) [キーコード[130]のみ判定] ( Aキー )
■キー入力:CSelf11[キーコード:S] [通常入力] キーボード(100〜) [キーコード[131]のみ判定] ( Sキー )
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 1 以上
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 1 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf11[キーコード:S] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キーコード:S] が 1 以上 ]の場合↓
||■条件分岐(変数): 【1】 CSelf12[実行不可] が 0 と同じ
||-◇分岐: 【1】 [ CSelf12[実行不可] が 0 と同じ ]の場合↓
|||■変数操作: CSelf12[実行不可] = 1 + 0
|||■デバッグ文:同時押し実行
|||■
||◇分岐終了◇
||■
|-◇上記以外
||■変数操作: CSelf12[実行不可] = 0 + 0
||■
|◇分岐終了◇
|■
-◇上記以外
|■変数操作: CSelf12[実行不可] = 0 + 0
|■
◇分岐終了◇


▲トップへ戻る▲


  
「キー入力受け付け」
■【使用例】2つのキーを3フレーム以内に同時押しでイベント実行

[A]キーと[S]キーを3フレーム以内に両方押した時に、条件分岐内のイベントを実行させます。

どちらかのキーを4フレーム以上押し続けている時に、もう一方を押しても、同時押しにはなりません。



今回の処理では「押し続けフレームを得る」を使います。

この「押し続けフレームを得る」は、キーを押し続けている間は1フレームごとに1ずつ値が増えていき、
キーを離すと0に戻ります。

今回は[A]キーと[S]キーのそれぞれの押し時間が「3以下」の時に「同時押し」と判断します。

【イベントコード表示】

■コモンイベント

起動条件:並列実行(常時)

■キー入力:CSelf10[キーコード:A] [押し続けフレーム] キーボード(100〜) [キーコード[130]のみ判定] ( Aキー )
■キー入力:CSelf11[キーコード:S] [押し続けフレーム] キーボード(100〜) [キーコード[131]のみ判定] ( Sキー )
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 4 以上
         【2】 CSelf11[キーコード:S] が 4 以上
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 4 以上 ]の場合↓
|■変数操作: CSelf10[キーコード:A] = 0 + 0
|■
-◇分岐: 【2】 [ CSelf11[キーコード:S] が 4 以上 ]の場合↓
|■変数操作: CSelf11[キーコード:S] = 0 + 0
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 1 以上
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 1 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf11[キーコード:S] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キーコード:S] が 1 以上 ]の場合↓
||■デバッグ文:同時押し実行
||■
|◇分岐終了◇
|■
◇分岐終了◇



2つのキーを押すのが速いと、上記の設定では「同時押し実行」が2回実行される事があります。

もしも「同時押し実行」が1回だけ実行されるようにする場合は、以下のように設定してください。

【イベントコード表示】

■コモンイベント

起動条件:並列実行(常時)

■キー入力:CSelf10[キーコード:A] [押し続けフレーム] キーボード(100〜) [キーコード[130]のみ判定] ( Aキー )
■キー入力:CSelf11[キーコード:S] [押し続けフレーム] キーボード(100〜) [キーコード[131]のみ判定] ( Sキー )
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 0 と同じ
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 CSelf11[キーコード:S] が 0 と同じ
|-◇分岐: 【1】 [ CSelf11[キーコード:S] が 0 と同じ ]の場合↓
||■変数操作: CSelf12[実行不可] = 0 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 4 以上
         【2】 CSelf11[キーコード:S] が 4 以上
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 4 以上 ]の場合↓
|■変数操作: CSelf10[キーコード:A] = 0 + 0
|■
-◇分岐: 【2】 [ CSelf11[キーコード:S] が 4 以上 ]の場合↓
|■変数操作: CSelf11[キーコード:S] = 0 + 0
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf10[キーコード:A] が 1 以上
-◇分岐: 【1】 [ CSelf10[キーコード:A] が 1 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf11[キーコード:S] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キーコード:S] が 1 以上 ]の場合↓
||■条件分岐(変数): 【1】 CSelf12[実行不可] が 0 と同じ
||-◇分岐: 【1】 [ CSelf12[実行不可] が 0 と同じ ]の場合↓
|||■変数操作: CSelf12[実行不可] = 1 + 0
|||■デバッグ文:同時押し実行
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇分岐終了◇


▲トップへ戻る▲


  
「キー入力受け付け」
■【使用例】「キーが押されるまで待つ」を使わずに
      システム変数[15][16]を使った方向キーの【キー入力】の処理を設定


イベントコマンド【選択肢】にて上下キーを押し続けるとカーソルが移動し続けますが、
この押し続けによるカーソルの移動では、カーソルが1つ移動した後に暫くウェイトが発生してから2つ目へ移動し、
2つ目以降も短いウェイトが発生しながらカーソルが移動していきます。

▼イベントコマンド【選択肢】の表示例


この【選択肢】のカーソル移動のウェイトは、
システム変数[15:方向キーリピート初ウェイト(フレーム数指定)]と、
システム変数[16:方向キーリピート次ウェイト(フレーム数指定)]で設定されており…
【1】カーソル移動
【2】システム変数[15]のウェイト
【3】カーソル移動
【4】システム変数[16]のウェイト
【5】【3】へ戻る
と言った処理の流れでカーソルが移動していきます。

このシステム変数[15][16]を使ったウェイトは、
【キー入力】で「キーが押されるまで待つ」を設定した方向キーの処理でも実行されますが、
キーが押されるまで待つ」を設定しない場合は、自作でウェイト処理を設定する必要があります。



以下の処理は、上下キーを押し続けた時にシステム変数[15][16]のウェイトを使って、
カーソル番号が変動するイベント処理の設定例です。



【イベントコード表示】【コモン出力ファイル】

■コモンイベント「方向キー押し続けテスト」

起動条件:並列実行(常時)

▼ サブキー(Shiftキー)を押すと、処理が開始します。
■キー入力:CSelf11[キーコード] [入力待ち【!】] サブキー(12)
■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 1 と同じ
-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■キー入力禁止/許可: 決定 サブ ↓キー ←キー →キー ↑キー [ 移動時× キー入力○ ]
■キー入力禁止/許可: キャンセル [ 移動時× キー入力× ]
■変数操作: CSelf10[カーソル位置]〜CSelf13[押し続け:時間] = 0 + 0
■変数操作: CSelf15[サブキー押し続け] = 1 + 0
■変数操作: CSelf20[sys15+1] = Sys15:方向キーリピート初ウェイト(フレーム数指定) + 1
■変数操作: CSelf21[sys16+sys15+1] = CSelf20[sys15+1] + Sys16:方向キーリピート次ウェイト(フレーム数指定)
■変数操作: CSelf22[文字サイズ] = Sys8:基本フォントサイズ + 0
■変数操作: [実] CSelf22[文字サイズ] *= 3 / 2
■ピクチャ表示:1 [左下]文字列[\E※上下キー押し続けでカーソル] X:0 Y:Sys117:[読]画面サイズY /
       0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ループ開始
|■ピクチャ表示:2 [左上]文字列[\f[\cself[22]]\E] X:2 Y:2 / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ウェイト:1 フレーム
|■キー入力:CSelf11[キーコード] [通常入力] 上下(8,2) サブキー(12)
|■条件分岐(変数): 【1】 CSelf11[キーコード] が 12 と同じ
|-◇分岐: 【1】 [ CSelf11[キーコード] が 12 と同じ ]の場合↓
||■条件分岐(変数): 【1】 CSelf15[サブキー押し続け] が 1 と同じ
||-◇分岐: 【1】 [ CSelf15[サブキー押し続け] が 1 と同じ ]の場合↓
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf15[サブキー押し続け] = 0 + 0
|■条件分岐(変数): 【1】 CSelf11[キーコード] が CSelf12[押し続け:キーコード] 以外
|-◇分岐: 【1】 [ CSelf11[キーコード] が CSelf12[押し続け:キーコード] 以外 ]の場合↓
||■変数操作: CSelf12[押し続け:キーコード] = CSelf11[キーコード] + 0
||■変数操作: CSelf13[押し続け:時間] = 0 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キーコード] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キーコード] が 1 以上 ]の場合↓
||■変数操作: CSelf13[押し続け:時間] += 1 + 0
||■条件分岐(変数): 【1】 CSelf13[押し続け:時間] が 1 と同じ
          【2】 CSelf13[押し続け:時間] が CSelf20[sys15+1] と同じ
          【3】 CSelf13[押し続け:時間] が CSelf21[sys16+sys15+1] 以上
||-◇分岐: 【1】 [ CSelf13[押し続け:時間] が 1 と同じ ]の場合↓
|||■
||-◇分岐: 【2】 [ CSelf13[押し続け:時間] が CSelf20[sys15+1] と同じ ]の場合↓
|||■
||-◇分岐: 【3】 [ CSelf13[押し続け:時間] が CSelf21[sys16+sys15+1] 以上 ]の場合↓
|||■変数操作: CSelf13[押し続け:時間] = CSelf20[sys15+1] + 0
|||■
||-◇上記以外
|||■変数操作: CSelf11[キーコード] = 0 + 0
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キーコード] が 2 と同じ
          【2】 CSelf11[キーコード] が 8 と同じ
|-◇分岐: 【1】 [ CSelf11[キーコード] が 2 と同じ ]の場合↓
||■変数操作: CSelf10[カーソル位置] += 1 + 0
||■
|-◇分岐: 【2】 [ CSelf11[キーコード] が 8 と同じ ]の場合↓
||■変数操作: CSelf10[カーソル位置] -= 1 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■ピクチャ消去:1 〜 2 / 0(0)フレーム
■キー入力禁止/許可: 決定 キャンセル サブ ↓キー ←キー →キー ↑キー [ 移動時○ キー入力○ ]

メニュー画面にある「システム設定」の「キーリピート速度」の設定を変えると、
システム変数[15][16]の設定値が変わります。





マウス操作でシステム変数[15][16]の値が変えられる動作テスト用の処理も用意しています。



【イベントコード表示】【コモン出力ファイル】

■コモンイベント「方向キー押し続けテスト」

起動条件:並列実行(常時)

▼ サブキー(Shiftキー)を押すと、処理が開始します。
■キー入力:CSelf11[キーコード] [入力待ち【!】] サブキー(12)
■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 1 と同じ
-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■キー入力禁止/許可: 決定 サブ ↓キー ←キー →キー ↑キー [ 移動時× キー入力○ ]
■キー入力禁止/許可: キャンセル [ 移動時× キー入力× ]
■変数操作: CSelf10[カーソル位置]〜CSelf13[押し続け:時間] = 0 + 0
■変数操作: CSelf15[サブキー押し続け] = 1 + 0
■変数操作: CSelf20[sys15+1] = Sys15:方向キーリピート初ウェイト(フレーム数指定) + 1
■変数操作: CSelf21[sys16+sys15+1] = CSelf20[sys15+1] + Sys16:方向キーリピート次ウェイト(フレーム数指定)
■変数操作: CSelf22[文字サイズ] = Sys8:基本フォントサイズ + 0
■変数操作: [実] CSelf22[文字サイズ] *= 3 / 2
■ピクチャ表示:1 [左下]文字列[\E※上下キー押し続けでカーソル] X:0 Y:Sys117:[読]画面サイズY /
       0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作: CSelf33[Y位置] = 2 + 0
■ピクチャ表示:2 [左上]文字列[\f[\cself[22]]\E] X:2 Y:CSelf33[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作+: CSelf33[Y位置] += ピクチャ:2 の 画像サイズ(縦)
■変数操作: CSelf33[Y位置] += 6 + 0
■ピクチャ表示:3 [左上]文字列[\f[\cself[22]]\E] X:2 Y:CSelf33[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作+: CSelf33[Y位置] += ピクチャ:3 の 画像サイズ(縦)
■変数操作: CSelf33[Y位置] += 6 + 0
■ピクチャ表示:4 [左上]文字列[ ] X:2 Y:CSelf33[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ループ開始
|■ピクチャ表示:4 [左上]文字列[\f[\cself[22]]\E]相対X:0 Y:0 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ウェイト:1 フレーム
|■回数付きループ [ 1 ]回
||■変数操作+: CSelf34[重なっているチェック] = ピクチャ:2 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf34[重なっているチェック] が 1 と同じ
||-◇分岐: 【1】 [ CSelf34[重なっているチェック] が 1 と同じ ]の場合↓
|||■変数操作+: CSelf30[左クリック] = マウス左クリック状態
|||■変数操作+: CSelf31[右クリック] = マウス右クリック状態
|||■変数操作+: CSelf32[ホイール] = マウスホイール変化
|||■条件分岐(変数): 【1】 CSelf30[左クリック] が 1 以上
           【2】 CSelf31[右クリック] が 1 以上
           【3】 CSelf32[ホイール] が 0 以外
|||-◇分岐: 【1】 [ CSelf30[左クリック] が 1 以上 ]の場合↓
||||■変数操作: CSelf35[押し続け:クリック] 下限= 0 + 0
||||■変数操作: CSelf35[押し続け:クリック] += 1 + 0
||||■条件分岐(変数): 【1】 CSelf35[押し続け:クリック] が 1 と同じ
||||-◇分岐: 【1】 [ CSelf35[押し続け:クリック] が 1 と同じ ]の場合↓
|||||■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) += 1 + 0
|||||■変数操作: CSelf36[押し続け:クリック回数] += 1 + 0
|||||■
||||◇分岐終了◇
||||■
|||-◇分岐: 【2】 [ CSelf31[右クリック] が 1 以上 ]の場合↓
||||■変数操作: CSelf35[押し続け:クリック] 上限= 0 + 0
||||■変数操作: CSelf35[押し続け:クリック] -= 1 + 0
||||■条件分岐(変数): 【1】 CSelf35[押し続け:クリック] が -1 と同じ
||||-◇分岐: 【1】 [ CSelf35[押し続け:クリック] が -1 と同じ ]の場合↓
|||||■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) -= 1 + 0
|||||■変数操作: CSelf36[押し続け:クリック回数] += 1 + 0
|||||■
||||◇分岐終了◇
||||■
|||-◇分岐: 【3】 [ CSelf32[ホイール] が 0 以外 ]の場合↓
||||■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) -= CSelf32[ホイール] + 0
||||■変数操作: CSelf35[押し続け:クリック]〜CSelf36[押し続け:クリック回数] = 0 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf35[押し続け:クリック]〜CSelf36[押し続け:クリック回数] = 0 + 0
||||■
|||◇分岐終了◇
|||■変数操作: CSelf35[押し続け:クリック] %= 18 + 0
|||■条件分岐(変数): 【1】 CSelf36[押し続け:クリック回数] が 3 以上
|||-◇分岐: 【1】 [ CSelf36[押し続け:クリック回数] が 3 以上 ]の場合↓
||||■変数操作: CSelf35[押し続け:クリック] %= 6 + 0
||||■
|||◇分岐終了◇
|||■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) 下限= 1 + 0
|||■変数操作: Sys15:方向キーリピート初ウェイト(フレーム数指定) 上限= 99 + 0
|||■変数操作: CSelf20[sys15+1] = Sys15:方向キーリピート初ウェイト(フレーム数指定) + 1
|||■変数操作: CSelf21[sys16+sys15+1] = CSelf20[sys15+1] + Sys16:方向キーリピート次ウェイト(フレーム数指定)
|||■ピクチャ表示:2 [左上]文字列[\f[\cself[22]]\E]相対X:0 Y:0 / 0(0)フレーム /
        パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
|||■ピクチャ移動:3 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 同値 /
        表示形式:同値 / 角 同値 / 拡 同値 / カラー R[100] G[100] B[100]
|||■ループ中断
|||■
||-◇上記以外
|||■ピクチャ移動:2 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 同値 /
        表示形式:同値 / 角 同値 / 拡 同値 / カラー R[100] G[100] B[100]
|||■
||◇分岐終了◇
||■変数操作+: CSelf34[重なっているチェック] = ピクチャ:3 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf34[重なっているチェック] が 1 と同じ
||-◇分岐: 【1】 [ CSelf34[重なっているチェック] が 1 と同じ ]の場合↓
|||■変数操作+: CSelf30[左クリック] = マウス左クリック状態
|||■変数操作+: CSelf31[右クリック] = マウス右クリック状態
|||■変数操作+: CSelf32[ホイール] = マウスホイール変化
|||■条件分岐(変数): 【1】 CSelf30[左クリック] が 1 以上
           【2】 CSelf31[右クリック] が 1 以上
           【3】 CSelf32[ホイール] が 0 以外
|||-◇分岐: 【1】 [ CSelf30[左クリック] が 1 以上 ]の場合↓
||||■変数操作: CSelf35[押し続け:クリック] 下限= 0 + 0
||||■変数操作: CSelf35[押し続け:クリック] += 1 + 0
||||■条件分岐(変数): 【1】 CSelf35[押し続け:クリック] が 1 と同じ
||||-◇分岐: 【1】 [ CSelf35[押し続け:クリック] が 1 と同じ ]の場合↓
|||||■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) += 1 + 0
|||||■変数操作: CSelf36[押し続け:クリック回数] += 1 + 0
|||||■
||||◇分岐終了◇
||||■
|||-◇分岐: 【2】 [ CSelf31[右クリック] が 1 以上 ]の場合↓
||||■変数操作: CSelf35[押し続け:クリック] 上限= 0 + 0
||||■変数操作: CSelf35[押し続け:クリック] -= 1 + 0
||||■条件分岐(変数): 【1】 CSelf35[押し続け:クリック] が -1 と同じ
||||-◇分岐: 【1】 [ CSelf35[押し続け:クリック] が -1 と同じ ]の場合↓
|||||■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) -= 1 + 0
|||||■変数操作: CSelf36[押し続け:クリック回数] += 1 + 0
|||||■
||||◇分岐終了◇
||||■
|||-◇分岐: 【3】 [ CSelf32[ホイール] が 0 以外 ]の場合↓
||||■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) -= CSelf32[ホイール] + 0
||||■変数操作: CSelf35[押し続け:クリック]〜CSelf36[押し続け:クリック回数] = 0 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf35[押し続け:クリック]〜CSelf36[押し続け:クリック回数] = 0 + 0
||||■
|||◇分岐終了◇
|||■変数操作: CSelf35[押し続け:クリック] %= 18 + 0
|||■条件分岐(変数): 【1】 CSelf36[押し続け:クリック回数] が 3 以上
|||-◇分岐: 【1】 [ CSelf36[押し続け:クリック回数] が 3 以上 ]の場合↓
||||■変数操作: CSelf35[押し続け:クリック] %= 6 + 0
||||■
|||◇分岐終了◇
|||■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) 下限= 1 + 0
|||■変数操作: Sys16:方向キーリピート次ウェイト(フレーム数指定) 上限= 99 + 0
|||■変数操作: CSelf20[sys15+1] = Sys15:方向キーリピート初ウェイト(フレーム数指定) + 1
|||■変数操作: CSelf21[sys16+sys15+1] = CSelf20[sys15+1] + Sys16:方向キーリピート次ウェイト(フレーム数指定)
|||■ピクチャ表示:3 [左上]文字列[\f[\cself[22]]\E]相対X:0 Y:0 / 0(0)フレーム / パターン 1 /
        透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
|||■ループ中断
|||■
||-◇上記以外
|||■ピクチャ移動:3 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 同値 /
        表示形式:同値 / 角 同値 / 拡 同値 / カラー R[100] G[100] B[100]
|||■
||◇分岐終了◇
||■変数操作: CSelf35[押し続け:クリック]〜CSelf36[押し続け:クリック回数] = 0 + 0
||■
|◇ループここまで◇◇
|■キー入力:CSelf11[キーコード] [通常入力] 上下(8,2) サブキー(12)
|■条件分岐(変数): 【1】 CSelf11[キーコード] が 12 と同じ
|-◇分岐: 【1】 [ CSelf11[キーコード] が 12 と同じ ]の場合↓
||■条件分岐(変数): 【1】 CSelf15[サブキー押し続け] が 1 と同じ
||-◇分岐: 【1】 [ CSelf15[サブキー押し続け] が 1 と同じ ]の場合↓
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf15[サブキー押し続け] = 0 + 0
|■条件分岐(変数): 【1】 CSelf11[キーコード] が CSelf12[押し続け:キーコード] 以外
|-◇分岐: 【1】 [ CSelf11[キーコード] が CSelf12[押し続け:キーコード] 以外 ]の場合↓
||■変数操作: CSelf12[押し続け:キーコード] = CSelf11[キーコード] + 0
||■変数操作: CSelf13[押し続け:時間] = 0 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キーコード] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キーコード] が 1 以上 ]の場合↓
||■変数操作: CSelf13[押し続け:時間] += 1 + 0
||■条件分岐(変数): 【1】 CSelf13[押し続け:時間] が 1 と同じ
          【2】 CSelf13[押し続け:時間] が CSelf20[sys15+1] と同じ
          【3】 CSelf13[押し続け:時間] が CSelf21[sys16+sys15+1] 以上
||-◇分岐: 【1】 [ CSelf13[押し続け:時間] が 1 と同じ ]の場合↓
|||■
||-◇分岐: 【2】 [ CSelf13[押し続け:時間] が CSelf20[sys15+1] と同じ ]の場合↓
|||■
||-◇分岐: 【3】 [ CSelf13[押し続け:時間] が CSelf21[sys16+sys15+1] 以上 ]の場合↓
|||■変数操作: CSelf13[押し続け:時間] = CSelf20[sys15+1] + 0
|||■
||-◇上記以外
|||■変数操作: CSelf11[キーコード] = 0 + 0
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キーコード] が 2 と同じ
          【2】 CSelf11[キーコード] が 8 と同じ
|-◇分岐: 【1】 [ CSelf11[キーコード] が 2 と同じ ]の場合↓
||■変数操作: CSelf10[カーソル位置] += 1 + 0
||■
|-◇分岐: 【2】 [ CSelf11[キーコード] が 8 と同じ ]の場合↓
||■変数操作: CSelf10[カーソル位置] -= 1 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■ピクチャ消去:1 〜 4 / 0(0)フレーム
■キー入力禁止/許可: 決定 キャンセル サブ ↓キー ←キー →キー ↑キー [ 移動時○ キー入力○ ]


▲トップへ戻る▲


  
「自動キー入力」
■【使用例】キーボード入力を強制終了させる

イベントコマンド【文字列操作】にある【キーボード入力】を使い、プレイヤーに文字を入力してもらう際、
一定時間後に入力処理を強制終了させるイベントの設定方法を紹介します。





強制終了の方法は2種類あり、「Enter」か「Esc」のどちらかを選択してください。

▼「Enter」で強制終了
「あいう」を入力している時に強制終了した場合は、文字列変数には「あいう」が設定されます。

▼「Esc」で強制終了
「あいう」を入力している時に強制終了した場合は、文字列変数には何も文字列が設定されません。

なお「Esc」で強制終了させる場合は、
【キーボード入力】にある「キャンセル有」にチェックを入れてください。



時間の設定は、通常変数か予備変数を使って行います。
設定例では「予備変数1」の「0番」を使用しています。

時間は1フレーム単位でカウントするため、「1秒=60」で設定します。
5秒後に強制終了させる場合は、変数には「300」を設定します。



【キーボード入力】の強制終了を行うイベントはコモンイベントに設定してください。

▼「Enter」で強制終了
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「キーボード入力強制終了」

起動条件:並列実行
起動条件変数:「V1-0:入力制限時間」が「1」「以上」

■ループ開始
|■ウェイト:1 フレーム
|■変数操作: V1-0[入力制限時間] -= 1 + 0
|■条件分岐(変数): 【1】 V1-0[入力制限時間] が 0 と同じ
          【2】 V1-0[入力制限時間] が -1 以下
|-◇分岐: 【1】 [ V1-0[入力制限時間] が 0 と同じ ]の場合↓
||▼ [Enter]を実行して強制終了
||■自動キー入力: キーボード入力 コード[ 128 ] ( Enterキー )
||■ループ中断
||■
|-◇分岐: 【2】 [ V1-0[入力制限時間] が -1 以下 ]の場合↓
||▼ プレイヤーが[Enter]を押して入力を終了させた
||■ループ中断
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■変数操作: V1-0[入力制限時間] = 0 + 0

▼「Esc」で強制終了
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「キーボード入力強制終了」

起動条件:並列実行
起動条件変数:「V1-0:入力制限時間」が「1」「以上」

■ループ開始
|■ウェイト:1 フレーム
|■変数操作: V1-0[入力制限時間] -= 1 + 0
|■条件分岐(変数): 【1】 V1-0[入力制限時間] が 0 と同じ
          【2】 V1-0[入力制限時間] が -1 以下
|-◇分岐: 【1】 [ V1-0[入力制限時間] が 0 と同じ ]の場合↓
||▼ [Esc]を実行して強制終了
||■自動キー入力: キーボード入力 コード[ 101 ] ( ESCキー )
||■ループ中断
||■
|-◇分岐: 【2】 [ V1-0[入力制限時間] が -1 以下 ]の場合↓
||▼ プレイヤーが[Enter]を押して入力を終了させた
||■ループ中断
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■変数操作: V1-0[入力制限時間] = 0 + 0



【キーボード入力】を実行するイベントは以下のように設定します。
※入力制限時間が「2秒間(120フレーム)」の場合。

【イベントコード表示】

■変数操作: V1-0[入力制限時間] = 120 + 0
■文字列操作:S0[] = キーボード入力 10文字 [キャンセル可]
■変数操作: V1-0[入力制限時間] = 0 + 0


▲トップへ戻る▲



◎関連ページ

◆「イベントコマンド」って何?
┣◆文章の表示
┃┗◆特殊文字
┣◆選択肢
┃┗◆【使用例】選択肢
┣◆変数操作
┃┗◆演算子について
┣◆DB操作
┣◆文字列操作
┃┗◆【使用例】文字列操作
┣◆変数操作+
┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い
┃┣◆【使用例】変数操作+の「キャラ」と「位置」
┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」
┣◆条件(変数)
┣◆条件(文字列)
┣◆キー入力
┃┗◆【使用例】キー入力
┣◆ピクチャ
┃┗◆表示形式(通常・加算・減算・乗算)について
┣◆エフェクト
┃┣◆「Zオーダー」について
┃┗◆【使用例】エフェクト
┣◆サウンド
┣◆セーブ・ロード操作
┣◆パーティ画像
┣◆チップ処理
┃┗◆【使用例】チップ処理
┣◆場所移動
┣◆イベント制御
┃┣◆キャラクターの動作指定
┃┗◆【使用例】イベント制御
┣◆コモンイベント
┣◆ダウンロード
┗◆プロ版機能
 ┗◆起動時の引数について

YADOT-WOLFトップ  気紛れな空間へ戻る  メール