題目の通り、自分の環境ではキーボードを3つ押している際に、一部のGetHitKeyStateAll関数が正常に反応してくれません。
自分の場合は、下と右(or左)と同時にアルファベット入力をした場合、この現象が生じました。
何か優先順位などがあってスキップされるのでしょうか。よろしければ教えていただけると幸いです。
以下の例では、下と右とAを入力してもうまくいかず、下の押下状態を解除した場合に一瞬表示されます。何か使い方が間違っていましたら、そちらもお教え願えれば幸いです。
void input::input_KeyUpdate(){
char keyState[256];
GetHitKeyStateAll( keyState ); //全てのキーの入力状態を取得
for( int i=0; i<256; i++){
if(keyState[i] != 0){
keyFlame[i]++; //押されているキーの押されているフレーム数をカウントアップ
}else{
keyFlame[i] = 0;
}
if(keyFlame[KEY_INPUT_DOWN]>0&&keyFlame[KEY_INPUT_RIGHT]>0&&keyFlame[KEY_INPUT_A]>0){
DrawString(0, 0, "OK!", GetColor(255, 255, 255));
}
}
}