[目次へ][前へ][次へ][表紙へ]
 効果音

 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だという解釈もあります。

[目次へ][前へ][次へ][表紙へ] inserted by FC2 system