ParaFla!(パラフラ)でのサウンド。
PalaFla!(パラフラ)でサウンドを取扱うための注意事項やティップスを挙げておきます。
- 原則としてヘルプなどで得られるような情報には触れません。
- また、音源の知的所有権など、当たり前の話にも触れません。
ファイルリストへはWAVE形式を用いましょう。
PalaFla!(パラフラ)では、音源として
- MP3形式(フラッシュのネイティヴ)
- WAVE形式
利用出来ます。
しかし、ファイルリストにMP3形式の音源を加えると、ファイルリストを弄ったりフラッシュを書き出す度に音源ファイルの内容の確認を行うため、処理が異常に重くなって作業にならなくなります。
一方、WAVEでは確認すべき点が少ないのか、このような事態にはならないようです。
音源をファイルリストに加えるのであれば、必ずWAVE形式にしましょう。
- 尚、WAVE形式にしてもMP3形式にしても、サンプリング周波数などが指定された値でないと正常に取扱われない場合がありますので注意してください。
MP3形式音源を使うのであれば、外部ファイルをアクションスクリプトで。
上述の通り、ファイルリストに加える音源としては、WAVE形式の方が問題がなくて良いのですが、已むを得ない理由によりMP3形式音源を使わざるを得ない場合は、アクションスクリプトで音源を外部ファイルとして読み込んで再生するようにしましょう。
エンドレスのBGMを演奏するには。
アクションスクリプトで音源を取扱う場合、start()メソッドの第二引数で繰返し演奏回数を指定しなければなりません(省略した場合は一回限りとなる)。
この事は、アクションスクリプトではゲーム中のBGMなど繰返し回数が不定なエンドレス演奏には向いていない事を意味します。
このような用途で音源を用いるのであれば、音源を取扱い可能なWAVE形式にしてファイルリストに取り込み、それをエンドレス演奏するようなスプライト(以下演奏スプライトと呼ぶ)にすればよいでしょう。
具体的には、演奏スプライトのイヴェントリストは以下のようになります。
- 停止
- ラベル: START
- 音源再生(ループ)
- 停止
- ラベル: STOP
- サウンド停止
- 停止
ここで、第一フレームを停止
としているのは、この演奏スプライトを予めイヴェントリストの前方に置いておく際にいきなり演奏させないようにするための措置です。
実際のBGMの制御方法。
実際の演奏及び停止は以下のようにします。
-
先ず、予め演奏スプライトをイヴェントリストの任意の階層に追加します。この際、必ず適切なオブジェクト名を与えておきます。
- 以下、オブジェクト名を
BGM
とします。
- 以下、オブジェクト名を
-
この上で、演奏を開始したい場合はアクションスクリプトで
BGM.gotoAndPlay('START');
メソッドを実行します。
演奏を停止させたい場合は、同様にアクションスクリプトで
BGM.gotoAndPlay('STOP');
メソッドを実行します。
これで、一度演奏スプライトをイヴェントに追加しておくだけで、好きなときに演奏/停止が可能になります。
BGMスプライトで注意する事。
サウンドイヴェントのプロパティとしてループ再生を撰ぶ事で、無限ループ演奏となりますが、その際、一曲の演奏が終わって先頭に戻る際に若干のタイムラグが生じる場合があります。
一応、WAVE形式だと繰返し時にタイムラグは起こらないようですが、MIDIシーケンサで作った演奏の場合、シーケンサの仕様で演奏開始時に一小節無音となる場合があり、これがタイムラグの原因となります。
サウンドエンジン・フリーなど音源を加工出来るツールがあれば、音源の冒頭に無音となる部分があるかどうかを調べ、あるならその部分を詰めると良いでしょう。