5. Aキーが押された瞬間一度だけドの音が鳴るプログラムを書いて下さい。(裏画面処理使う)
4
#include "DxLib.h" int GetHitKeyStateAll_2(int KeyStateBuf[/url]){ char GetHitKeyStateAll_Key[256]; GetHitKeyStateAll( GetHitKeyStateAll_Key ); for(int i=0;i<256;i++){ if(GetHitKeyStateAll_Key==1) KeyStateBuf++; else KeyStateBuf=0; } return 0; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ int Key[256]; ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ //↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない DrawFormatString(0,0,GetColor(255,255,255),"%d",Key[KEY_INPUT_Z]);//エンター入力カウント if(Key[KEY_INPUT_Z]==1)//今の瞬間押されたら printfDx( "押されました" ) ; ScreenFlip(); } DxLib_End(); return 0; }
5
#include "DxLib.h" int GetHitKeyStateAll_2(int KeyStateBuf[/url]){ char GetHitKeyStateAll_Key[256]; GetHitKeyStateAll( GetHitKeyStateAll_Key ); for(int i=0;i<256;i++){ if(GetHitKeyStateAll_Key==1) KeyStateBuf++; else KeyStateBuf=0; } return 0; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ int Key[256]; ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 int Sound; Sound = LoadSoundMem("do.ogg"); while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ //↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない DrawFormatString(0,0,GetColor(255,255,255),"%d",Key[KEY_INPUT_Z]);//エンター入力カウント if(Key[KEY_INPUT_A]==1)//今の瞬間押されたら PlaySoundMem(Sound, DX_PLAYTYPE_BACK); ScreenFlip(); } DxLib_End(); return 0; }
これでよろしいのでしょうか?