特定のキーの入力状態の取得 応援する  特定のキーが押されているかを判定するには,CheckHitKey関数を利用します.
int CheckHitKey( int KeyCode );
KeyCodeには入力状態を取得したいキーコードを渡します(下表).
例えば,Aキーが押されているかを判定したい場合は,
表よりKeyCodeにKEY_INPUT_Aを渡してやればよいわけです.
また,この関数はキーが押されている場合には1を,押されていない場合は0を
戻り値として返してきます.
では,Aキーが押されるまで処理を続けるプログラムを作成してみましょう.
foundation-13.cpp
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int white;
//ウィンドウモードで起動
ChangeWindowMode( TRUE );
//DXライブラリ初期化
if( DxLib_Init() == -1 ) {
return -1;
}
//白色取得
white = GetColor( 255, 255, 255 );
//Aキーが押されるまでプログラムを続行
while( CheckHitKey( KEY_INPUT_A ) == 0 ) {
if( ProcessMessage() == -1 ) {
break;
}
DrawString( 20, 20, "Aキーでプログラム終了", white );
}
//DXライブラリ終了処理
DxLib_End();
return 0;
}
このプログラムの実行結果は,下図となります.
| キーコード
| キー
| キーコード
| キー
| | KEY_INPUT_BACK
| Backspace
| KEY_INPUT_RALT
| 右ALT
| | KEY_INPUT_TAB
| Tab
| KEY_INPUT_SCROLL
| ScrollLock
| | KEY_INPUT_RETURN
| Enter
| KEY_INPUT_SEMICOLON
| ;
| | KEY_INPUT_LSHIFT
| 左シフト
| KEY_INPUT_COLON
| :
| | KEY_INPUT_RSHIFT
| 右シフト
| KEY_INPUT_LBRACKET
| [
| | KEY_INPUT_LCONTROL
| 左コントロール
| KEY_INPUT_RBRACKET
|
| | KEY_INPUT_RCONTROL
| 右コントロール
| KEY_INPUT_AT
| @
| | KEY_INPUT_ESCAPE
| Escape
| KEY_INPUT_BACKSLASH
| \
| | KEY_INPUT_SPACE
| Space
| KEY_INPUT_COMMA
| ,
| | KEY_INPUT_PGUP
| PageUp
| KEY_INPUT_MULTIPLY
| テンキー*
| | KEY_INPUT_PGDN
| PageDown
| KEY_INPUT_ADD
| テンキー+
| | KEY_INPUT_END
| End
| KEY_INPUT_SUBTRACT
| テンキー-
| | KEY_INPUT_HOME
| Home
| KEY_INPUT_DECIMAL
| テンキー.
| | KEY_INPUT_LEFT
| 左
| KEY_INPUT_DIVIDE
| テンキー/
| | KEY_INPUT_UP
| 上
| KEY_INPUT_NUMPADENTER
| テンキーのEnter
| | KEY_INPUT_RIGHT
| 右
| KEY_INPUT_NUMPAD0
| テンキー0
| | KEY_INPUT_DOWN
| 下
| ・・・
|
| | KEY_INPUT_INSERT
| Insert
| KEY_INPUT_NUMPAD9
| テンキー9
| | KEY_INPUT_DELETE
| Delete
| KEY_INPUT_F1
| F1キー
| | KEY_INPUT_MINUS
| -
| ・・・
|
| | KEY_INPUT_CAPSLOCK
| CaspLock
| KEY_INPUT_F12
| F12キー
| | KEY_INPUT_PAUSE
| PauseBreak
| KEY_INPUT_A
| Aキー
| | KEY_INPUT_YEN
| ¥
| ・・・
|
| | KEY_INPUT_PREVTRACK
| ^
| KEY_INPUT_Z
| Zキー
| | KEY_INPUT_PERIOD
| .
| KEY_INPUT_0
| 0キー
| | KEY_INPUT_SLASH
| /
| ・・・
|
| | KEY_INPUT_LALT
| 左ALT
| KEY_INPUT_9
| 9キー
|
| |
|