> 1.沢山音が鳴る場面でだけ無音になり、その後また音が鳴るようになるのでしょうか?
> それとも一度無音になってしまったら、そのままずっと無音のままなのでしょうか?
はい、また音が鳴るようになります。ただ効果音が少し程度なら音が途切れたりする程度で直ぐに鳴りますが
大量に効果音を鳴らす状況になるとその量に応じてその後の無音時間が長くなります。
> 2.具体的には何個くらいの音が鳴っているのでしょうか?
zキーを押している間効果音を鳴らすプログラムを作ってみたところCountが10くらいで押している間は完全に無音になります(効果音の種類にもよるかもしれません)
またCountの値が大きくなるほど効果音が鳴るまでに時間が掛かるようになり、zキーを押した時間が長いほどより無音時間が長くなります。
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int Count = 0;
SetGraphMode( 640 , 480 , 16 ) ;
ChangeWindowMode(true);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
int Sound = LoadSoundMem("Sound.wav");//適当な効果音
// ループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
// 画面のクリア
ClsDrawScreen() ;
if (CheckHitKey(KEY_INPUT_UP) == 1) {
Count++;
}
if (CheckHitKey(KEY_INPUT_DOWN) == 1) {
Count--;
if (Count < 0)
Count = 0;
}
//if (CheckSoundMem(Sound) == 0) {
if (CheckHitKey(KEY_INPUT_Z) == 1) {
for (int i = 0; i < Count; i++)
{
PlaySoundMem(Sound, DX_PLAYTYPE_BACK);
}
}
//}
clsDx();
printfDx("%d",Count);
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
因みにリプレイの方は正常に再生されるようになりましたが、そちらはGetRandを削除しても問題はないでしょうか?
リプレイは制作中によく互換がなくなるので個人的には致命的という訳ではなかったので…
GetRandを使用した方が処理の負荷がかからないとかならそちらの方がいいと個人的には思うので^^;