ボタンを押すと消えてしまうんですが
Posted: 2008年12月28日(日) 15:17
ボタンを押すたびに音を鳴らそうと思うんですけど下のようなプログラムだとZを一回押すと終了してしまうのですがどうすればいいでしょうか。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウィンドウモード
if( DxLib_Init() == -1 ) return -1; // 初期化
char KeyBuf[ 256 ] ;
while( 1 ){
GetHitKeyStateAll(KeyBuf ) ; // すべてのキーの状態を得る
int Sound ;
Sound = LoadSoundMem( "test.wav" ); //wavファイルを読み込み、ハンドルをint型変数へ格納
if(KeyBuf[KEY_INPUT_Z]==1) {
if(CheckSoundMem(Sound)==0) //現在ショット音が再生されていなければ
PlaySoundMem(Sound,DX_PLAYTYPE_BACK); //ショット音を再生する
break;}
if(KeyBuf[KEY_INPUT_ESCAPE]==1)
break ;
if( ProcessMessage() == -1 ) break ;//エラーが起きたら終了
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウィンドウモード
if( DxLib_Init() == -1 ) return -1; // 初期化
char KeyBuf[ 256 ] ;
while( 1 ){
GetHitKeyStateAll(KeyBuf ) ; // すべてのキーの状態を得る
int Sound ;
Sound = LoadSoundMem( "test.wav" ); //wavファイルを読み込み、ハンドルをint型変数へ格納
if(KeyBuf[KEY_INPUT_Z]==1) {
if(CheckSoundMem(Sound)==0) //現在ショット音が再生されていなければ
PlaySoundMem(Sound,DX_PLAYTYPE_BACK); //ショット音を再生する
break;}
if(KeyBuf[KEY_INPUT_ESCAPE]==1)
break ;
if( ProcessMessage() == -1 ) break ;//エラーが起きたら終了
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}