さて、ここまでで私達は文字・背景・前景を表示させてきました。文字は特に必要なタグはありませんでしたし、背景・前景とも同じタグを使用して 表示させることができました。今回はBGMと効果音を流します。その役割や、BGMは画像で言う背景、効果音は画像で言う前景にたとえることができるでしょう。 しかしながら画像とは違い、両者とも別のタグを使用します。これは、BGMと効果音の性質の違いがあるためです。 BGMは音の背景です。背景は1つ以上必要ありませんが、効果音はどうでしょう?複数の効果音が同時に再生される可能性だってあるのです。 それを理解した上で、これらの再生を行っていきましょう。
Tip効果音というと『バキ』とか『ドカ』なんかを思い浮かべる方も多いかと思いますが、 効果音には"台詞"も含まれます。『バキ』『ドカ』も『うぐぅ』も『犯人をあなたです。』も全て効果音と 言うことです。 |
音楽素材を制作するには少々手間がかかりますので、インターネット上で無償配布されている音楽を入手するといいでしょう。
無償配布を行っているサイトは無数に存在しますが、下記のWebサイトをご紹介いたします。
Tam Music Factory 様
雑音空間様
H/MIX GALLERY様
はじめにBGMの再生を説明したいと思います。BGMの再生には、playbgmタグを 使用します。BGMに使用できる音楽形式は、WAVE形式(*.wav)、MIDI形式(*.smf / *.mid)、もしくはCD-XAのデータで、プラグインにより 他の音楽形式を使用することも可能です。また、Config.tjsに設定されている音楽形式のみBGMとして再生することができるので、 標準のMIDI形式以外の音楽形式を使用する場合はConfig.tjsのBGMの設定を変更する必要があります。 では下のソースを見てください。
[playbgm storage="hogehoge.mid"]
|
storage
はもうおなじみですね?BGMの再生はこれで完了です。読み込んでしまえば再生されるのです。
ちなみにこのソースでBGMを再生した場合は、
音楽が終わってもまた初めから再生し始めます。これを行いたくない場合は追加記述loop
を使用します。
[playbgm storage="hogehoge.mid" loop="false"]
|
loop
をfalse
(行わない)にしてまえば繰り返し再生は行われない設定になります。
loop
という追加記述はBGMの繰り返し再生の設定を行うもので、標準ではtrue
(行う)の設定となっています。
さて、これらのタグを繰り返して、BGMを途中から変更するソースを書いてみましょう。
[playbgm storage="hogehoge.mid"] |
[fadeinbgm storage="hogehoge.mid" time="2000"] |
time
は、フェードイン、フェードアウトにかける時間をミリ秒で指定します。
例えば、1秒かけてフェードインを行う場合はtime="1000"
となります。通常の秒数に×1000すれば良いのです。しかしながら
上記のソースでもまだ、不具合があります。それは、フェードアウト中に次のソースへ進んでしまうために、フェードインが無理やり割り込んでくる形になってしまうことです。
フェードが完全に終了してから次のソースへ移る場合は、wdタグを使用します。
これは、フェードを待ってから文字を表示させる事も同じです。そこで下の例を見てください。
[fadeinbgm storage="futuu.mid" time="2000"] |
上の文章は恐怖を煽るような構成になっています。そこで一度、無音の状態を作ってから"オチ"を作るとしましょう。
上のソースでは、フェードアウトとフェードインの間に[wb]
を使用しフェードアウトするまで
ゲームの流れを止めています。それから文字を表示して、別のBGMをフェードインしています。
つまり「ここはとあるレストラン……」の部分で無音状態を実現することができるのです。
Tip
|
さて、次は効果音です。効果音で再生できるのはWAVE形式か、プラグインで再生可能にした形式のみなので注意が必要です。 効果音はBGMとは違い、複数の音を一度に扱えます。まずは下のソースを見てください。
[playse storage="hogehoge.wav" buf="0"]
|
playseタグは効果音を再生するタグです。そこへ例のごとくstorage
で
hogehoge.wavを読み込んでいるわけです。ではbuf=0
とはどのような働きを持つのでしょうか?
このページの冒頭で私は「効果音は画像で言う前景にたとえることができる」といいました。これは前景で使用したlayer="0"
と同じ意味です。ん?ってことはlayer="1"
なんていう追加記述も使えたのだから、buf="1"
も使えるはずですね。
ではソースをこのように変更してみましょう。
[playse storage="hogehoge.wav" buf="0"] |
[wait time="500"]
は0.5秒待てという命令です。便利な記述なので覚えておいてもいいかもしれません。
さて、このソースを実行すると、0.5秒置きにhogehoge.wav
が再生されるかと思います。
この複数の音が共存できる仕組みをバッファといいます。バッファの説明にはよく箱が使用されますが、少し難しいかもしれないので
ここではCDプレイヤーに例えたいと思います。0、1、2とはCDプレイヤーに名づけられた名前で、これらには別々の(もちろん同じでもO.K.)
音楽CDをセッティングできます。上のソースはその3台のCDプレイヤーに次々と再生をさせていた状態だったのです。
Tip
ここでの効果音は台詞も含まれます。文字に声を対応させるには、 |
Tip効果音にもフェードイン・フェードアウトを行えるタグがあります。詳しくはfadeinseタグ等をご覧ください。 |
[次へ進む]
Back to the Lesson([top]>[Lesson]>[Lesson6 音編])