Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1748 / 13645 ツリー ←次へ | 前へ→

【72187】GetAsyncKeyStateでトラブル VBAでゲーム作り中 12/6/17(日) 22:52 質問[未読]
【72188】Re:GetAsyncKeyStateでトラブル Abyss 12/6/17(日) 23:59 質問[未読]
【72191】Re:GetAsyncKeyStateでトラブル VBAでゲーム作り中 12/6/18(月) 18:08 回答[未読]
【72192】Re:GetAsyncKeyStateでトラブル Abyss 12/6/18(月) 18:16 発言[未読]
【72193】Re:GetAsyncKeyStateでトラブル Abyss 12/6/18(月) 18:18 発言[未読]
【72194】Re:GetAsyncKeyStateでトラブル VBAでゲーム作り中 12/6/18(月) 19:09 お礼[未読]

【72187】GetAsyncKeyStateでトラブル
質問  VBAでゲーム作り中  - 12/6/17(日) 22:52 -

引用なし
パスワード
   最近エクセルのVBAを使ってシューティングゲーム作りを始めたのですが、
GetAsyncKeyState関数で困っていることがあります。

カーソルキー(左、右、上、下)で自機を上下、左右、斜め方向に移動させて、
スペースキーで弾発射しようとしています。

GetAsyncKeyState関数を実装し、ほとんどの操作は問題なく動くのですが、
なぜか次の条件の時に、スペースキーを認識できません。

1.上キー+右キー+スペースキー(同時押下)
2.下キー+右キー+スペースキー(同時押下)

この場合、"getAsyncKeyState(vbKeySpace) <> 0 "になりません。

※左キー+上キー+スペースキー(同時押下)、
 左キー+下キー+スペースキー(同時押下)はどちらもに認識。

※1.、2.の条件でスペースキーの代わりにコントロールキーだと認識できます。

どなたか原因や対策などをご教示頂ければ幸いです。
よろしくお願いします。

【72188】Re:GetAsyncKeyStateでトラブル
質問  Abyss  - 12/6/17(日) 23:59 -

引用なし
パスワード
   シート上でのお話ですか?

【72191】Re:GetAsyncKeyStateでトラブル
回答  VBAでゲーム作り中  - 12/6/18(月) 18:08 -

引用なし
パスワード
   ▼Abyss さん:
>シート上でのお話ですか?

ご質問ありがとうございます。

そうです。セルをドット状にしてセル色を利用してゲーム画面を表示し、
アクティブセル上で、VBAプログラムを無限ルームしながら、GetAsync
KeyState関数でキー入力を判断し、ゲームの操作を行おうとしています。

その際、スペースキーの認識不能が起こっています。

【72192】Re:GetAsyncKeyStateでトラブル
発言  Abyss  - 12/6/18(月) 18:16 -

引用なし
パスワード
   返信、ありがとう御座います。

この現象は、ソフトウェアの問題ではなく
ハードウェアつまりキーボードが
「3キーロールオーバー」に対応しているかの
問題ですね。下記のサイトのキーボード画面で
テストが可能ですので、一度テストしてみてください。
これで、だめなら、キーボードのせいにするしか
ありません。(笑)

www.microsoft.com/appliedsciences/content/projects/KeyboardGhostingDemo.aspx

【72193】Re:GetAsyncKeyStateでトラブル
発言  Abyss  - 12/6/18(月) 18:18 -

引用なし
パスワード
   忘れ物。

# IME offの状態でテストしてくださいね。

【72194】Re:GetAsyncKeyStateでトラブル
お礼  VBAでゲーム作り中  - 12/6/18(月) 19:09 -

引用なし
パスワード
   さっそく確認させて頂きました。

みごとにキーボードが問題どおり表示しませんでした。
おかげで認識しない組み合わせも調べる手段を得ました。

なぜスペースキーがダメなのか不可解な仕様ですが、
これはしょうがないですね(笑)でも解ってスッキリです。

本当に迅速で丁寧なご回答ありがとうございました。

1748 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free