kazuoniさんsoftyaさん返答遅くなってしまってすいません
だいぶ時間が空いてしまって過去ログになってしまったので
新しく作り直します
メイン関数の書き方にならって
関数を書いてみました
窓がない状態から
Xボタンで窓1
窓1が開いてる状態で
Xボタンで窓2が開いてる状態
Zボタンで窓1が開いてる状態へ
という処理を目指して状態推移処理で作り直してみました
[/pre]
int function_status=888;//状態設定
int Make_CmdWindow1(int cr__x,int cr__y,int i,int j)//座標、座標、座標、座標、bmp名
{
char Key[256];
GetHitKeyStateAll( Key ) ;
while(1){
//GetHitKeyStateAll(Key);
switch(function_status){
case 888:
if(Key[KEY_INPUT_Z]==1)
MessageBox(NULL ,"window1" , "B" ,MB_OK);
function_status=999;//初期
break;
if(Key[KEY_INPUT_X]==1)
MessageBox(NULL ,"window1" , "A" ,MB_OK);
function_status=777;//ウィンドウ2?
break;
case 777:
if(Key[KEY_INPUT_X]==1)
MessageBox(NULL ,"window2" , "A" ,MB_OK);
function_status=888;//ウィンドウ2が開いた状態?
break;
if(Key[KEY_INPUT_Z]==1)
MessageBox(NULL ,"window1" , "B" ,MB_OK);
function_status=888;//初期
break;
case 999:
return 0;
break;
default:
return 0;
break;
}
}
return 0;
}
[/pre]
初期で
if(Key[KEY_INPUT_Z]==1) MessageBox(NULL ,"window1" , "B" ,MB_OK); function_status=999;//初期 break; if(Key[KEY_INPUT_X]==1) MessageBox(NULL ,"window1" , "A" ,MB_OK); function_status=777;//ウィンドウ2? break;キーを押していなくても押している状態として認識してしまいます
原因がわからないのですがkeyの宣言の仕方を変えるべきか
ソースの書き方の問題か教えてくださいよろしくお願いします
