[ 効果音 ] > [ BGMの入れ方 ]
■BGMの入れ方
BGMの入れ方を説明します。
作っておいたBGM(wav)を読み込みます。
読み込んでから名前を付けるところまでの手順は、効果音をファンクションで鳴らす方法と同じです。
例として、BGM-01.wav という名前だったとします。
メインの BGM レイヤーにキーフレームを挿入します。
BGMを鳴らしたいタイミングのフレームです。

アクションパネルで、ファンクションを入力します。
_root.PlayBGM( "BGM-01.wav", 100 );
この100というのは音量です。100の場合は100%の音量で鳴らします。
ループさせたい曲の場合はこのように指定します。
_root.LoopPlayBGM( "BGM-01.wav", 100 );
曲の始まりをフェードインさせたい場合はBGMの指定直後にこのように書きます。
_root.FadeInBGM( 4.0 );
この場合、無音からゆっくりと音量が上がり、4.0秒後に指定通りの音量になります。
鳴っているBGMを消したい場合は、2通りの方法があります。
消したいタイミングのフレームにキーフレームを挿入してファンクションを書きます。
1.すぐに消す
_root.StopBGM();
2.ゆっくり消す
_root.FadeOutBGM( 6.0 );
この場合、ゆっくりと音量が下がり、6.0秒後に完全に消えます。
ループ曲を完全に維持させる方法
JUMPボタン等を使った場合、ループ曲が鳴って欲しいコマで鳴らないことがあります。
これを解消するにはループ曲の有効範囲にループ曲用のMCを置く必要があります。
(これには少しだけスクリプトを書くことになります)
まず、BGMレイヤーのロックを外します。

ループ曲を指定しているフレームの次のフレームにキーフレームを挿入します。

ライブラリパネルから、EmptyMC をステージにドラッグ&ドロップします。
( EmptyMC の場所は、system → general → EmptyMC です)
ドロップする場所はとりあえず、漫画表示エリアの右上あたりにでもしておきましょう。

このMCにオブジェクトアクションを割り当てます。
MCをクリックしてからアクションパネルでアクションを書きます。

onClipEvent(load){
_root.KeepBGM("BGM名",20);
}
このように、直前のフレームで指定したBGM名と音量を _root.KeepBGM() で指定します。
この例では、1コマ目から11コマ目までループ曲が有効になっています。

フェードアウト時の注意
JUMPで表示したコマがフェードアウト指定だった場合、BGMが無しになります。
無しだと困る場合は、以下の例のように書いてください。
_root.KeepBGM("BGM名",20);
_root.FadeOutBGM(5.0);
BGMの音量を一時的に変更する方法
ある特定のコマのみBGMの音量を半分にする等の制御ができます。
アクションパネルで、ファンクションを入力します。
_root.VolControlBGM( 0.5 );
この 0.5 というのは音量の倍率です。0.5 の場合は半分の音量になります。
0.0 を指定すると、そのコマはBGMが無音になります。
この音量制御はこのファンクションを書いたコマのみ有効です。
注意:このファンクションは特殊です。BGMレイヤーではなく、L&Aレイヤーに書いてください。
BGMの2チャンネル制御
BGM制御は、
_root.PlayBGM2()
_root.LoopPlayBGM2()
_root.KeepBGM2()
_root.StopBGM2()
_root.FadeOutBGM2()
_root.FadeInBGM2()
_root.VolControlBGM2()
という具合にもう1つのBGMを制御するファンクションも用意しています。
例えば、BGMのクロスフェードをやりたい場合は、
チャンネル1と2を交互に使い、
_root.FadeOutBGM( 6.0 );
_root.PlayBGM2( "BGM-02", 100 );
_root.FadeInBGM2( 6.0 );
このように書けば、チャンネル1で鳴っていたBGMがフェードアウトしながら、チャンネル2のBGMがフェードインします。
作業効率に関するコツ
BGMを入れると、シーンプレビューやムービープレビューの確認までの時間が非常に長くなってしまいます。
各コマや全体の動きを完全に調整してからBGMを入れる作業をした方が効率的です。
次へ >>