一日中考えているのですが、ドつぼにはまって解決できません。
メニュー画面などでマウス座標が画像の上に乗ったらカーソル音(カチッという)を一度だけ鳴らしたいのですが、
「一度だけ」という処理がなかなかできません。
また、画像上からマウス座標から外れて、もう一度乗るとまたなるようにしたいのですが・・・
下記のような関数でメニューの当たり判定を得ています。
if(マウスが画像上) 再生フラグ=1
else 再生フラグ=0
にしているんですがなぜかこれだとflag=0のままになります・・・
後、flag=1にできたとして一度だけ再生はどうすればいいんでしょうか?
int Grapha(int x,int y,int GraphHandle,int flag){
int size_x,size_y,ff=0;
GetGraphSize(GraphHandle,&size_x,&size_y);
if(x<Mouse.x && Mouse.x<size_x+x && y<Mouse.y && Mouse.y<size_y+y){
flag=1;
SetDrawBlendMode( DX_BLENDMODE_ALPHA ,128 ) ;
DrawGraph(x,y,GraphHandle,flag);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ;
if(Mouse.Button[0]==1){
return 2;
}
else {
return 1;
}
}
else {
flag=0;
DrawGraph(x,y,GraphHandle,flag);
return 0;
}
}