【キー入力】にあるイベントコマンド「キー入力禁止/許可」を使って、並列実行内で方向キーの入力を禁止にし、
例えばテンキー[8]が押されていない場合は、上方向のみのキー入力を許可する形にすれば、
一応テンキーを押しても移動はせず、方向キーを押した時には移動ができるようにする事ができます。
テンキーが押されたら自動実行(次イベントの予約)を実行し、移動処理を停止させる仕様ならば、それほど複雑にはなりませんが、
テンキーを押しても移動処理が継続する場合は、テンキー以外の移動するキー(ゲームパッドの十字キーや左スティックなど)が押されているかどうかを調べる必要があり、かなり複雑になります。
イベント処理を上手く設定しないと、正常に動かなくなるかもしれません。
あとノートパソコンの場合、キーボードにテンキーが無いものがあり、こちらの対策を考えないとプレイヤーが困ってしまう可能性があります。
一応テンキーモードで「テンキー8=8」「テンキー4=U」「テンキー6=O」「テンキー2=K」にする事はできますが、
テンキーモードの切り替えが分からない(元に戻せない)事があったり、キー配列が斜めなので操作しづらいなどの問題があります。
無理にテンキーを使わずに、[A][S][D][F]などのキーを使ったり、「キャンセル+方向キー」で操作できたりした方が良いかもしれません。
なお「キャンセル+方向キー」の場合は、キーボードを使わずにゲームパッドのみで操作できるなどの利点があります。
以下は動作テストで設定したものです。
実際に利用する場合は、設定したいイベント処理に合わせてアレンジを加える必要があるかもしれません。
※下の方にイベントコードの記載もあります。
コモンイベント/並列実行(常時)
■キー入力禁止/許可: ↓キー ←キー →キー ↑キー [ 移動時× キー入力○ ]
■キー入力禁止/許可: キーボード入力 コード[ 172 ] ( テンキー8キー ) [ 許可する ]
■キー入力禁止/許可: キーボード入力 コード[ 177 ] ( テンキー6キー ) [ 許可する ]
■キー入力禁止/許可: キーボード入力 コード[ 175 ] ( テンキー4キー ) [ 許可する ]
■キー入力禁止/許可: キーボード入力 コード[ 180 ] ( テンキー2キー ) [ 許可する ]
■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 1 と同じ
-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■キー入力:CSelf10キーボード(100〜) [キーコード[172]のみ判定] ( テンキー8キー )
■条件分岐(変数): 【1】 CSelf10 が 1 以上
-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
|■キー入力禁止/許可: キーボード入力 コード[ 172 ] ( テンキー8キー ) [ 禁止する ]
|■条件分岐(変数): 【1】 CSelf20 が 0 以下
|-◇分岐: 【1】 [ CSelf20 が 0 以下 ]の場合↓
||■デバッグ文:テンキー8を押した
||■
|◇分岐終了◇
|■変数操作: CSelf20 = 2 + 0
|■キー入力:CSelf10キーボード(100〜) [キーコード[300]のみ判定] ( ↑キー )
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ↑キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・POV十字キー / 上(8)のみ
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ↑キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・スティック / 左スティ上下[±1000]
|■条件分岐(変数): 【1】 CSelf10 が -1 以下
|-◇分岐: 【1】 [ CSelf10 が -1 以下 ]の場合↓
||■キー入力禁止/許可: ↑キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■
-◇上記以外
|■変数操作: CSelf20 -= 1 + 0
|■キー入力禁止/許可: ↑キー [ 移動時○ キー入力○ ]
|■
◇分岐終了◇
■キー入力:CSelf10キーボード(100〜) [キーコード[177]のみ判定] ( テンキー6キー )
■条件分岐(変数): 【1】 CSelf10 が 1 以上
-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
|■キー入力禁止/許可: キーボード入力 コード[ 177 ] ( テンキー6キー ) [ 禁止する ]
|■条件分岐(変数): 【1】 CSelf21 が 0 以下
|-◇分岐: 【1】 [ CSelf21 が 0 以下 ]の場合↓
||■デバッグ文:テンキー6を押した
||■
|◇分岐終了◇
|■変数操作: CSelf21 = 2 + 0
|■キー入力:CSelf10キーボード(100〜) [キーコード[305]のみ判定] ( →キー )
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: →キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・POV十字キー / 右(6)のみ
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: →キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・スティック / 左スティ左右[±1000]
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: →キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■
-◇上記以外
|■変数操作: CSelf21 -= 1 + 0
|■キー入力禁止/許可: →キー [ 移動時○ キー入力○ ]
|■
◇分岐終了◇
■キー入力:CSelf10キーボード(100〜) [キーコード[175]のみ判定] ( テンキー4キー )
■条件分岐(変数): 【1】 CSelf10 が 1 以上
-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
|■キー入力禁止/許可: キーボード入力 コード[ 175 ] ( テンキー4キー ) [ 禁止する ]
|■条件分岐(変数): 【1】 CSelf22 が 0 以下
|-◇分岐: 【1】 [ CSelf22 が 0 以下 ]の場合↓
||■デバッグ文:テンキー4を押した
||■
|◇分岐終了◇
|■変数操作: CSelf22 = 2 + 0
|■キー入力:CSelf10キーボード(100〜) [キーコード[303]のみ判定] ( ←キー )
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ←キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・POV十字キー / 左(4)のみ
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ←キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・スティック / 左スティ左右[±1000]
|■条件分岐(変数): 【1】 CSelf10 が -1 以下
|-◇分岐: 【1】 [ CSelf10 が -1 以下 ]の場合↓
||■キー入力禁止/許可: ←キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■
-◇上記以外
|■変数操作: CSelf22 -= 1 + 0
|■キー入力禁止/許可: ←キー [ 移動時○ キー入力○ ]
|■
◇分岐終了◇
■キー入力:CSelf10キーボード(100〜) [キーコード[180]のみ判定] ( テンキー2キー )
■条件分岐(変数): 【1】 CSelf10 が 1 以上
-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
|■キー入力禁止/許可: キーボード入力 コード[ 180 ] ( テンキー2キー ) [ 禁止する ]
|■条件分岐(変数): 【1】 CSelf23 が 0 以下
|-◇分岐: 【1】 [ CSelf23 が 0 以下 ]の場合↓
||■デバッグ文:テンキー2を押した
||■
|◇分岐終了◇
|■変数操作: CSelf23 = 2 + 0
|■キー入力:CSelf10キーボード(100〜) [キーコード[308]のみ判定] ( ↓キー )
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ↓キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・POV十字キー / 下(2)のみ
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ↓キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■キー入力:CSelf10 パッド・スティック / 左スティ上下[±1000]
|■条件分岐(変数): 【1】 CSelf10 が 1 以上
|-◇分岐: 【1】 [ CSelf10 が 1 以上 ]の場合↓
||■キー入力禁止/許可: ↓キー [ 移動時○ キー入力○ ]
||■
|◇分岐終了◇
|■
-◇上記以外
|■変数操作: CSelf23 -= 1 + 0
|■キー入力禁止/許可: ↓キー [ 移動時○ キー入力○ ]
|■
◇分岐終了◇
■
WoditorEvCOMMAND_START
[126][1,0]<0>(496)()
[126][2,0]<0>(268435456,172)()
[126][2,0]<0>(268435456,177)()
[126][2,0]<0>(268435456,175)()
[126][2,0]<0>(268435456,180)()
[111][4,0]<0>(1,9000013,1,2)()
[401][1,0]<0>(1)()
[172][0,0]<1>()()
[0][0,0]<1>()()
[499][0,0]<0>()()
[123][3,0]<0>(1600010,4355,172)()
[111][4,0]<0>(17,1600010,1,1)()
[401][1,0]<0>(1)()
[126][2,0]<1>(268435712,172)()
[111][4,0]<1>(1,1600020,0,3)()
[401][1,0]<1>(1)()
[106][0,1]<2>()("テンキー8を押した")
[0][0,0]<2>()()
[499][0,0]<1>()()
[121][4,0]<1>(1600020,2,0,0)()
[123][3,0]<1>(1600010,4352,300)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(128)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1283)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(128)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1025)()
[111][4,0]<1>(1,1600010,-1,3)()
[401][1,0]<1>(1)()
[126][1,0]<2>(128)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[0][0,0]<1>()()
[420][1,0]<0>(0)()
[121][4,0]<1>(1600020,1,0,512)()
[126][1,0]<1>(128)()
[0][0,0]<1>()()
[499][0,0]<0>()()
[123][3,0]<0>(1600010,4352,177)()
[111][4,0]<0>(17,1600010,1,1)()
[401][1,0]<0>(1)()
[126][2,0]<1>(268435712,177)()
[111][4,0]<1>(1,1600021,0,3)()
[401][1,0]<1>(1)()
[106][0,1]<2>()("テンキー6を押した")
[0][0,0]<2>()()
[499][0,0]<1>()()
[121][4,0]<1>(1600021,2,0,0)()
[123][3,0]<1>(1600010,4352,305)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(64)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1286)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(64)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1026)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(64)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[0][0,0]<1>()()
[420][1,0]<0>(0)()
[121][4,0]<1>(1600021,1,0,512)()
[126][1,0]<1>(64)()
[0][0,0]<1>()()
[499][0,0]<0>()()
[123][3,0]<0>(1600010,4352,175)()
[111][4,0]<0>(17,1600010,1,1)()
[401][1,0]<0>(1)()
[126][2,0]<1>(268435712,175)()
[111][4,0]<1>(1,1600022,0,3)()
[401][1,0]<1>(1)()
[106][0,1]<2>()("テンキー4を押した")
[0][0,0]<2>()()
[499][0,0]<1>()()
[121][4,0]<1>(1600022,2,0,0)()
[123][3,0]<1>(1600010,4352,303)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(32)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1285)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(32)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1026)()
[111][4,0]<1>(1,1600010,-1,3)()
[401][1,0]<1>(1)()
[126][1,0]<2>(32)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[0][0,0]<1>()()
[420][1,0]<0>(0)()
[121][4,0]<1>(1600022,1,0,512)()
[126][1,0]<1>(32)()
[0][0,0]<1>()()
[499][0,0]<0>()()
[123][3,0]<0>(1600010,4352,180)()
[111][4,0]<0>(17,1600010,1,1)()
[401][1,0]<0>(1)()
[126][2,0]<1>(268435712,180)()
[111][4,0]<1>(1,1600023,0,3)()
[401][1,0]<1>(1)()
[106][0,1]<2>()("テンキー2を押した")
[0][0,0]<2>()()
[499][0,0]<1>()()
[121][4,0]<1>(1600023,2,0,0)()
[123][3,0]<1>(1600010,4352,308)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(16)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1284)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(16)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[123][2,0]<1>(1600010,1025)()
[111][4,0]<1>(1,1600010,1,1)()
[401][1,0]<1>(1)()
[126][1,0]<2>(16)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[0][0,0]<1>()()
[420][1,0]<0>(0)()
[121][4,0]<1>(1600023,1,0,512)()
[126][1,0]<1>(16)()
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END