効果音とBGMを追加しよう |
【効果音とBGMを追加して,ゲームらしくしてみよう】
効果音とBGMは,DXライブラリの関数を使えば,簡単に追加できる。
DXライブラリには音声を扱う関数が多数用意されているが,基本は次の3つの関数と言える。
おおまかな仕組みは画像データ読み込み・描画のLoadGraph関数・DrawGraph関数のときと
同様で,流れとしては
(1)データファイルをあらかじめ読み込む。その際,読み込んだデータに自動的に番号が割り振られる。
(2)割り振られたデータ番号を指定して利用する。
となっている。
・LoadSoundMem 関数 … 音声データファイルから音声データを読み込み,読み込んだ
サウンドデータに番号を割り当てて返す。
・PlaySoundMem
関数 … LoadSoundMem 関数で読み込んだ音声を再生する。
・StopSoundMem
関数 … 音声データの再生を中断する。
具体的には,
・ゲームループの前:あらかじめ LoadSoundMem関数で音声データを音声ファイルから読み込んでおく。
・ゲームループの直前:プレイ開始時からなっているべきBGMを PlaySoundMem関数で再生開始(ループ再生モード)
・ゲームループ内:ゲーム内のイベントに合わせて適切な効果音を
PlaySoundMem関数で再生(バックグラウンド再生)。
・ゲームループ終了後:ループ再生していたBGMを停止させるために StopSoundMem関数を呼び出す。
となるだろう。
実際に教材のシューティングゲームに音声処理を加えた例を以下に示す。
sound.cpp