トップページ > 過去ログ > 記事閲覧
キーコンフィグ機能
名前:もりそば 日時: 2011/02/13 21:26

初めまして初投稿となります。もりそばです。 現在、初めてのゲーム製作を行っておりまして キーコンフィグ機能を実装しようと考えておりますが 教書などを見てもキーコンの参考例などを見つけられずにいます。具体的にどのような処理にすればよいか 教えていただければと思います。

Page: 1 |

Re: キーコンフィグ機能 ( No.1 )
名前:T 日時:2011/02/13 23:17

typedef struct tagKEYCONFIG { int ok; int cancel; } KEYCONFIG; KEYCONFIG KeyConfig; KeyConfig.ok = KEY_INPUT_Z; KeyConfig.cancel = KEY_INPUT_X; のように用意しておいて、判定時に char key[256]; GetHitKeyStateAll(key); if(key[KeyConfig.ok]) { /* 処理 */ } みたいにするのはどうでしょうか また、作品紹介の2ページ目、一番下にキーコンフィグのプログラムがあります ソースも付属しているので参考になるかもしれません
Re: キーコンフィグ機能 ( No.2 )
名前:もりそば 日時:2011/02/15 16:15

返答ありがとうございます。 返信が遅れて大変申し訳ありませんでした、 参考にさせていただきます
Re: キーコンフィグ機能 ( No.3 )
名前:セイ 日時:2011/04/01 06:28

こんにちは。 自分もキーコンフィグの実装について調べていまして、 参考になるか分かりませんがキーの名前を取得する方法について助言致します。 まず、 ConvertKeyCodeToVirtualKey関数でDXライブラリのキーコード(KEY_INPUT_ESCAPEなど)から Windowsの仮想キーコードに変換した値を取得します。これはDxLib.hで定義されています。 次にMapVirtualKeyA関数で仮想キーコードからスキャンコードに変換した値を取得します。 そして、GetKeyNameTextA関数でキーの名前を取得します。 これら二つの関数はWinUser.hで定義されています。 詳しくは↓のページを参考にしてください。 tp://takabosoft.com/20100614223356.html 自前でswitchを総当たりで回すよりはマシだと思います。 ただ、自分の環境ではPrintScreen/SysRqキー(KEY_INPUT_SYSRQ)を渡した時に ConvertKeyCodeToVirtualKey関数が異常な値を返すようです。 また、GetKeyNameTextA関数は通常のエンターキーとテンキーのエンターキーを区別しません。 ですので、ここら辺は自分でどうにかする以外にないと思います。 それでは、長文失礼しました。

Page: 1 |