[掲示板へもどる]
一括表示

記事No: 21557 [関連記事]
タイトルテンキーを別キーとして使いたい
投稿日: 2023/10/04 21:08
投稿者りお [ripO236(海外)]

[やりたいこと]
テンキーをPSボタンで例えると8を△、2を×、4を□、6を○のように移動以外で使用したい。

[やってみたこと]
コモンイベントの移動時並列コモンでキー操作を追加して8でメニューを開けるようにしたのですが、どうやっても上に移動してしまいます。そのすぐ下に下に移動を入れると時間差で移動してしまうので困っています。テンキーで移動してしまうのはどうにもならないのでしょうか?
説明書を見たりウディタに詳しい所に書いてあるキー番号を参考にして作ろうとしてますが上手くいきません。同じ並列移動コモン内でEnterの下のshiftを押すと高速で移動する機能の切り替えはちゃんと成功しましたので、これも出来るかなと思って挑戦しています。
テンキーが絶対移動する固定なのか、それともどうにかすればちゃんと他のキーとしてつかえるのかも知りたいです。

よろしくお願いします。


記事No: 21558 [関連記事]
タイトルRe: テンキーを別キーとして使いたい
投稿日: 2023/10/06 00:11
投稿者YADO [LerLWW459(海外)]

【キー入力】にあるイベントコマンド「キー入力禁止/許可」を使って、並列実行内で方向キーの入力を禁止にし、
例えばテンキー[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


記事No: 21559 [関連記事]
タイトルRe: テンキーを別キーとして使いたい
投稿日: 2023/10/06 05:52
投稿者りお [ripO236(海外)]

出来ました!
ご親切にイベントコードまでありがとうございます!
ここまでのイベントは私には絶対に考えつきませんでした!
ゲームは自分のみで楽しむので大丈夫です!
感謝と尊敬させていただきます!
すごく助かりました!
また困った際に教えていただけると有難いです!
この度は本当にありがとうございました!


記事No: 21560 [関連記事]
タイトルRe: テンキーを別キーとして使いたい
投稿日: 2023/10/06 15:11
投稿者りお [ripO236(海外)]

コモンを応用してテンキーの6と2等でメッセージ送りやキャンセル操作などを行える設定に出来ました!
テンキーを自由に扱える操作のおかげで環境が劇的に快適になったので感謝の気持ちでいっぱいです!
今回勉強になった事を参考にして自分用のゲームですが、まだまだ進化出来そうです!
本当にありがとうございました!