効果音とBGMを追加しよう

【効果音とBGMを追加して,ゲームらしくしてみよう】
効果音とBGMは,DXライブラリの関数を使えば,簡単に追加できる。

DXライブラリには音声を扱う関数が多数用意されているが,基本は次の3つの関数と言える。

 おおまかな仕組みは画像データ読み込み・描画のLoadGraph関数・DrawGraph関数のときと
同様で,流れとしては
 (1)データファイルをあらかじめ読み込む。その際,読み込んだデータに自動的に番号が割り振られる。
 (2)割り振られたデータ番号を指定して利用する。
となっている。

 ・LoadSoundMem 関数 … 音声データファイルから音声データを読み込み,読み込んだ
  サウンドデータに番号を割り当てて返す。
   

 ・PlaySoundMem 関数 … LoadSoundMem 関数で読み込んだ音声を再生する。
   

 ・StopSoundMem 関数 … 音声データの再生を中断する。
   

具体的には,
 ・ゲームループの前:あらかじめ LoadSoundMem関数で音声データを音声ファイルから読み込んでおく。
 ・ゲームループの直前:プレイ開始時からなっているべきBGMを PlaySoundMem関数で再生開始(ループ再生モード)
 ・ゲームループ内:ゲーム内のイベントに合わせて適切な効果音を PlaySoundMem関数で再生(バックグラウンド再生)。
 ・ゲームループ終了後:ループ再生していたBGMを停止させるために StopSoundMem関数を呼び出す。
となるだろう。

実際に教材のシューティングゲームに音声処理を加えた例を以下に示す。

sound.cpp
sound