> 具体的にはキー入力を作成させてあると、キー状態取得系の関数で調べた時押していないキーも押してあると認識されてしまうのです。
具体的にはどちらのキーでしょうか?
こんなプログラムを組んでキーの状態一覧を見てみたのですが
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int i, j ;
int InputHandle ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
SetUseDirectInputFlag( FALSE ) ;
SetEnableXAudioFlag( FALSE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
InputHandle = MakeKeyInput( 256, FALSE, FALSE, FALSE ) ;
// メインループ(何かキーが押されたらループを抜ける)
while( ProcessMessage() == 0 )
{
// 画面のクリア
ClearDrawScreen() ;
for( i = 0 ; i < 16 ; i ++ )
{
for( j = 0 ; j < 16 ; j ++ )
{
DrawString( j * 32, i * 16, CheckHitKey( i * 16 + j ) ? "ON" : "OFF", GetColor( 255,255,255 ) ) ;
}
}
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
特にキー入力ハンドルを作成しているかどうかで結果は変わりませんでした
( 因みに「半角/全角」キーや「F10」キーのように「一度押すとずっとONのままになる」
といった特殊なキーもありますが、それはキー入力ハンドルの作成とは関係がなく
常にそのような挙動をします )