効果音 |
1.音声ファイルの種類 |
一口に音声ファイルといってもいくつかの種類があります。効果音(SE : Sound Effect)と音楽(BGM : Back Ground Music)とで別の種類の音声ファイルを使います。
名前 | 拡張子 | 概要 |
WAV | .wav | 音そのもの(つまり波形のデータ)を記録したものです。サイズはすごく大きくなります。1分の曲で約10MBです。そのため、効果音等の短い音に向いています。 |
MIDI | .mid | 音そのものではなく楽譜を記録している形式です。そのためサイズも小さく、音楽に向いています。パソコンは楽譜を読み取って該当する音を鳴らします。 |
MP3 | .mp3 | WAVファイルの圧縮版です。ただし特許があります。フリーソフトのゲームで使う分には大丈夫のようです。 |
Ogg | .ogg | WAVファイルの圧縮版です。 |
等。
音楽は、つい最近まではMIDIが全盛だったのですが、ネットワークの高速化、ハードディスクの大容量化に伴い、多少サイズが大きくてもダウンロードしてくれるようになったので、MP3やOggを使っているものも多くなってきたようです。
2.効果音を鳴らす |
mmplay命令では、複数の音を重ねて鳴らすことはできません。例えば、敵の爆発音が鳴っている最中に自機のショット音を鳴らすと、その時点で爆発音は途切れてしまいます。HSP MULTIMEDIAで追加されるDirectSound用の命令ですと、複数の音を重ねて鳴らすことができます。
HSP MULTIMEDIAの以下の命令を使います。
例.ZキーとXキーで2種類の効果音を鳴らします。
#include "hmm.as" dsinit onexit goto *Program_End dsloadfname "bom01.wav", 0 dsloadfname "tm2_pon000.wav", 1 zkey = 0 xkey = 0 *Main_Loop await 16 gosub *Input_Key if pre_zkey == 0 & zkey == 1 { dsplay 0 } if pre_xkey == 0 & xkey == 1 { dsplay 1 } goto *Main_Loop ;プログラム終了 *Program_End dsend end ;キー入力 *Input_Key pre_zkey = zkey pre_xkey = xkey getkey zkey, 90 getkey xkey, 88 return
Xキーのキーコードは88です。
補足 |
・音が途切れた方がいい場合 |
同じ音を連続して鳴らすと前の音が途切れると書きましたが、場合によってはその方がいいことがあります。例えば、ボスを連続して爆発させる場合、「ドカーン」という音を続けて鳴らすことになります。 前の「ーン」と次の「ドカ」が重なると、非常に聞き苦しくなります。 |
・メガバイト |
1KB(キロバイト)は1024バイトです。1000バイトだという解釈もあり、統一されていません。統一されていなくても、プログラムを作る際には特に支障ありません。 1MB(メガバイト)は1024KB、1GB(ギガバイト)は1024MBです。これもそれぞれ、1000KB、1000MBだという解釈もあります。 |