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]などに対応しているキーは何なんでしょうか?
サイトをみても理解液なかったので、だれか教えていただけないでしょうか?
DXライブラリのキーの状態を確認する関数について
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリのキーの状態を確認する関数について
どの値がどのキーかは気にする必要がないです。
添字としてKEY_INPUT_???と言うのが定義済みなのでそれを使いますよ。
「DXライブラリ置き場 リファレンスページ」 KEY_INPUT_???の一覧。
http://homepage2.nifty.com/natupaji/DxL ... .html#R5N2
【補足】せっかくKEY_INPUT_???で抽象化しているので数値を直接使うのは分かりづらくなるので避けたほうが良いです。一般に数値を直接書くのは良くない組み方に分類されます。
添字としてKEY_INPUT_???と言うのが定義済みなのでそれを使いますよ。
「DXライブラリ置き場 リファレンスページ」 KEY_INPUT_???の一覧。
http://homepage2.nifty.com/natupaji/DxL ... .html#R5N2
【補足】せっかくKEY_INPUT_???で抽象化しているので数値を直接使うのは分かりづらくなるので避けたほうが良いです。一般に数値を直接書くのは良くない組み方に分類されます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: DXライブラリのキーの状態を確認する関数について
DxLib.hとDxDirectX.hをみればわかります。
tmpkey[1]はtmpkey[KEY_INPUT_ESCAPE]なのでEscキー
tmpkey[9]はtmpkey[KEY_INPUT_8]なので8キー
のようです。(Ver 3.11)
tmpkey[1]はtmpkey[KEY_INPUT_ESCAPE]なのでEscキー
tmpkey[9]はtmpkey[KEY_INPUT_8]なので8キー
のようです。(Ver 3.11)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)