DXライブラリのキーの状態を確認する関数について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
well-known

DXライブラリのキーの状態を確認する関数について

#1

投稿記事 by well-known » 12年前

int Key[256]; // キーが押されているフレーム数を格納する

// キーの入力状態を更新する
int gpUpdateKey(){
char tmpKey[256]; // 現在のキーの入力状態を格納する
GetHitKeyStateAll( tmpKey ); // 全てのキーの入力状態を得る
for( int i=0; i<256; i++ ){
if( tmpKey != 0 ){ // i番のキーコードに対応するキーが押されていたら
Key++; // 加算
} else { // 押されていなければ
Key = 0; // 0にする
}
}
return 0;
}

この中で、tmpkey[256]とありますが、具体的にtmpkey[1]やtmpkey[9]などに対応しているキーは何なんでしょうか?
サイトをみても理解液なかったので、だれか教えていただけないでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: DXライブラリのキーの状態を確認する関数について

#2

投稿記事 by softya(ソフト屋) » 12年前

どの値がどのキーかは気にする必要がないです。
添字としてKEY_INPUT_???と言うのが定義済みなのでそれを使いますよ。
「DXライブラリ置き場 リファレンスページ」 KEY_INPUT_???の一覧。
http://homepage2.nifty.com/natupaji/DxL ... .html#R5N2

【補足】せっかくKEY_INPUT_???で抽象化しているので数値を直接使うのは分かりづらくなるので避けたほうが良いです。一般に数値を直接書くのは良くない組み方に分類されます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: DXライブラリのキーの状態を確認する関数について

#3

投稿記事 by みけCAT » 12年前

DxLib.hとDxDirectX.hをみればわかります。
tmpkey[1]はtmpkey[KEY_INPUT_ESCAPE]なのでEscキー
tmpkey[9]はtmpkey[KEY_INPUT_8]なので8キー
のようです。(Ver 3.11)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

well-known

Re: DXライブラリのキーの状態を確認する関数について

#4

投稿記事 by well-known » 12年前

どうもありがとうございましたm(__)m

閉鎖

“C言語何でも質問掲示板” へ戻る