10. 入力状態を取得する。


現在何のキーが押されているかチェックするにはCheckHitKey関数を使用します。
この関数には任意のキーコードを渡してやる事で任意のキーの入力状態が0か1で返ってます。
返り値が0なら入力されていない。返り値が1なら入力されている。
ということです。エンターのキーコードは「KEY_INPUT_RETURN」です。
つまりCheckHitKey( KEY_INPUT_RETURN )==1ならエンターが押されている事が判ります。
他のキーコードについては本家DXライブラリ関数解説ページをご覧下さい。
キーコード表

サンプルでは、エンターが押されると処理を終える処理を行っています。
ループを行う場合はエラーが起こった時に無限ループになってしまわないように
エラーが起きていないか監視する関数ProcessMessage()という関数でエラーが起きていないかチェックしましょう。
この関数は返り値が-1の時、エラーが起きている事を示します。

↓コピー&コンパイル用サンプルプログラム↓


#include "DxLib.h"
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
        ChangeWindowMode( TRUE ) ;      //ウィンドウモードに変更
        if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了 
 
 
        int White ;
        White = GetColor( 255 , 255 , 255 ) ;//色の取得
 
        DrawString( 230 , 240 , "ENTERキーを押すと終了します。" , White );
 
        while( CheckHitKey( KEY_INPUT_RETURN ) == 0 ){//ENTERが押されていない間ループ
               if( ProcessMessage() == -1 )
                         break ;        // エラーが発生したらループを抜ける
        }
 
 
        DxLib_End() ;           // DXライブラリ使用の終了処理
        return 0 ;              // ソフトの終了
}

実行結果

→掲示板で質問する



- Remical Soft -