キーボードのすべてのキーの押下状態を取得する
val = GetHitKeyStateAll(param, KeyStateArray)
char *KeyStateBuf : すべてのキーの押下状態を格納するバッファのポインタ
(プラグイン / モジュール : DxLibW)
CheckHitKey 関数はキーボードのキーの押下状態を取得するための関数です。
沢山のキーの状態を CheckHitKey 関数で調べる場合は当たり前ですが沢山 CheckHitKey 関数を使わなければなりません。
ですが、この関数を使用すれば全てのキーに対して CheckHitKey 関数を使った場合と同じものを引数に渡す配列に格納してくれます。
なので、複数のキーの状態を知りたい場合は、 CheckHitKey 関数を何回も呼ぶよりこの GetHitKeyStateAll 関数を使ってください。
例 Z キーの状態を知りたい場合
char Buf[ 256 ] ;
GetHitKeyStateAll( Buf ) ;
if( Buf[ KEY_INPUT_Z ] == 1 )
{
// Zキーが押されている
}
else
{
// Zキーは押されていない
}
使うにはまず char 型変数 256 個の配列を宣言します。
必ず char 型で、数は 256 個でないといけません。
そしてその配列のポインタをおもむろに GetHitKeyStateAll 関数に渡します。
そうすると GetHitKeyStateAll 関数は char 型配列にすべてのキーの押下状態を格納してくれます。
あとは CheckHitKey 関数で知りたいキーを識別するために使っていた
KEY_INPUT_Y や KEY_INPUT_ESCAPE 等を関数に渡した配列の要素番号にして、その要素が1かそれ意外か判断するだけです。
1なら押されていて、0だと押されていません。これだけです。
何が便利か、といわれますと、CheckHitKey より手続きが面倒になったので何も便利になっているわけではないのですが、
とりあえず処理速度の効率を気にされる場合は是非使ってください。(^^;
なお、キーの識別値一覧はすぐ上の CheckHitKey 関数の解説に載っています。
戻り値:
0:成功
| プラグイン / モジュール | DxLibW |
| バージョン | 3.24f |
| 作成日 | 2026/04/12 |
| 著作者 | DxLib: Takumi Yamada / HSP binding: IronHSP Project |
| URL | https://dxlib.xsrv.jp/ |
| 備考 | hspdxlib.as をインクルードして使用 |
| タイプ | DxLib ゲームライブラリ |
| グループ | DxLib 入力 |
| 対応環境 |
|
| hs ファイル | hsphelp\hspdxlib.hs |