トップページ > 記事閲覧
上キーと左キーの入力時に右キーと下キーが入力されません。
名前:れいちょん 日時: 2023/05/26 12:46

左右のキーの入力状態が同じ場合はどちらのキーの入力も無効にしたかったのですが、(左と右キーの同時押しで移動させない) 上キーと左キーが入力されている状態で右キーを入力しても右キーが入力されたことにならず左キーが有効のままになってしまいます。(上と左キーで左へ移動中に右キーを入力しても左へ移動してしまう) GetHitKeyStateAll関数 と CheckHitKey関数 のどちらでも起こってしまいます。 何か良い対策がありますでしょうか?
メンテ

Page: 1 |

Re: 上キーと左キーの入力時に右キーと下キーが入力されません。 ( No.1 )
名前:たろう 日時:2023/05/26 13:49

れいちょんさんこんにちは。 これ↓で上と左入力中に右押しで、上のみになる状態になりませんでしょうか? ※ダメな場合、「キーボード同時押しチェッカー」などで、キーボードをチェックすると良いと思いますm(__)m #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ) ; DxLib_Init(); SetDrawScreen( DX_SCREEN_BACK ) ; while( ProcessMessage() == 0 ) { ClearDrawScreen() ; int U=0,D=0,L=0,R=0; if( CheckHitKey( KEY_INPUT_UP )==1){ U=1; } // 上キー if( CheckHitKey( KEY_INPUT_DOWN )==1){ D=1; } // 下キー if( CheckHitKey( KEY_INPUT_LEFT )==1){ L=1; } // 上キー if( CheckHitKey( KEY_INPUT_RIGHT )==1){ R=1; } // 下キー if(L==1&&R==1){L=0;R=0;} DrawFormatString( 0, 62, GetColor(255,255,255),"U(%d) D(%d) L(%d) R(%d)",U,D,L,R ) ; ScreenFlip() ; } DxLib_End() ; return -1 ; }
メンテ
Re: 上キーと左キーの入力時に右キーと下キーが入力されません。 ( No.2 )
名前:れいちょん 日時:2023/05/26 14:24

たろうさん、返信ありがとうございます。 返信にあったコードで試してみたところ上左右キーの同時押しはできませんでしたが、他の組み合わせでは正常に動作するものもありました。 紹介して下さったチェッカーで試してみても上左右キーの同時押しができなかったのでキーボード側の問題のようです。 他のキーボードで試すすべが手元にはないので今は可能なことを前提にコードを作っていこうと思います!
メンテ
Re: 上キーと左キーの入力時に右キーと下キーが入力されません。 ( No.3 )
名前:れいちょん(解決済み) 日時:2023/07/12 09:18

解決済みと付けるのを忘れていました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存