プログラマーの卵の日記

備忘録になってます!小難しそうなことから超簡単なことまでやってます!!

【DxLib】一つの足音ファイルを複数の足音ファイルっぽく

構成


周波数でそれっぽく







      周波数でそれっぽく


 実際の現場とかそういうのは知りませんし、DxLibだと簡単に弄れるのが周波数だったので周波数を弄りました。

 やっていることも簡単で、足音がなるたびにSetFrequencySoundMemという関数を用いて
足音の周波数を初期値44100に対して上下に乱数を加えるようにしました。
コードは以前作っていたゲームに無理やり組み込んだので見てもよくわからないかもしれませんが、関係する部分を一応載せます。


		if (name == SoundProcess::ESOUNDNAME_SE::foot || name == SoundProcess::ESOUNDNAME_SE::footFloor)
		{
			std::random_device rnd;     // 非決定的な乱数生成器を生成
			std::mt19937 mt(rnd());     //  メルセンヌ・ツイスタの32ビット版、引数は初期シード値
			std::uniform_int_distribution<> rand20000(-20000, 20000);        // [-20000, 20000] 範囲の一様乱数
			int freq = rand20000(mt);

			SetFrequencySoundMem(44100 + freq, se_sound[static_cast(name)]);

			DrawFormatString(0, 0, GetColor(255, 255, 255), "%d", 44100 + freq);
			printfDx("%d\n", 44100 + freq);
		}



 それで以前作っていたゲームに無理やり組み込んでやった動画がこちらです。
音量上げてみると変な音が聞こえるような気もするので上下の振れ幅の数値はもっと考えないといけないと思いましたまる


1つの足音をランダムな周波数で沢山あるみたいにしてみた[DxLib]