Rookie'sFlashLaboratory
Homeへもどる
PHASE08 ボリュームコントロール
今回は音声ファイルのボリュームコントローラーです。

参考:Hakuhin's Home Page
音楽:SWH

今回は、避けに避けてきたActionScriptを使います。
なるべくわかりやすく解説するつもりですし、基本的にコピーアンドペーストで使用して
いただけるようにします。
ただ、ActionScriptに関してはまったくのド素人ですので、解説に間違いなどがあるかも知れません。
その場合は、できましたらメールでお知らせくださるとありがたいです。

作るのはコレです。



左右に配置してある三角ボタンをクリックすると音量が上下します。
ゲージ(?)をドラッグして音量を調節するタイプにしようかとも思いましたが、
ActionScriptが複雑になりますので、とりあえず、カンタンなこちらのタイプの解説をしたいと
思います。

このタイプの音声制御は、フラッシュをミュージックビデオクリップ風に作成する場合に向いていると思います。



1
まず、左右三角をボタンオブジェクトで作ります。
片方作ってコピーすればOKです。

ゲージはシェイプで描いた後にムービークリップに変換してください。
ラインはシェイプでもなんでもいいので1本線を引きます。

全部レイヤーを別にして作りました。
こちらの方が何かと作業しやすいからですが、
レイヤー数が増えて煩雑な気もしますね。
なので、もちろんひとつのレイヤーで済ませても問題ありませんし、
作成し終わってから、ひとつのレイヤーにまとめてもいいです。


2
上で作ったのとは別に、ActionScript専用のレイヤーを作ります。

また、「読み込み」−「ライブラリに読み込み」で音楽を読み込みます。
読み込んだ音楽を、ActionScript専用レイヤーに読み込みます。
種類は今回イベントにしてありますが、作るフラッシュによっては、
下記説明を参考にお好きな方を選択してください。

種類:
イベント:フレーム数は関係なし。
      フラッシュファイルが全てダウンロードされてから再生。
ストリーム:設定したフレーム数に応じてサウンドの長さも変化。
       音楽ファイルがダウンロードされると再生。

ループ:
チェックボタンを入れるとループ。
ループ回数はお好きなように。

効果:
種類が多くて説明しきれませんが、ドロップダウンメニューを
見ていただければわかると思います。


3
ActionScriptレイヤーのアクションスクリプトウィザードに
下記のActionScriptを記述します。

bgm_00 = new sound(this);
bgm_00.attachSound("miyako-japan.mp3");
_root.pan = 0;
_root.vol = 100;

いわずもがな、だと思いますが、"miyako-japan.mp3"の部分は読み込んだ
サウンドファイル名です。
なので、この部分はファイル名によって書き変えてください。


4
右向きのボタンに下記のActionScriptを記述します。

on (press)
{
if (_root.vol < 100)
{
_root.vol = _root.vol + 10;
} // end if
}


5
左向きのボタンに下記のActionScriptを記述します。

on (press)
{
if (_root.vol > 0)
{
_root.vol = _root.vol - 10;
} // end if
}


6
ゲージのクリップの下記のActionScriptを記述します。

onClipEvent (enterFrame)
{
setProperty("", _x, 1.800000E+000 * _root.vol + 70);
_root.bgm_00.setVolume(_root.vol);
}

1.800000E=ゲージの動く幅(?)
+ 70=ゲージの初期位置(?)
この2ヶ所の数値を変えて、作ったコントローラーのサイズにあわせて
ゲージが動くようにします。
1.800000Eの方を先に調整しておく方が良い気がしたりしなかったり・・・。

作成したフラッシュの長さにあわせて、コントローラーのタイムラインの
フレーム数も変えておきます。
ActionScriptレイヤーはフレーム数を変える必要はありません。

これで基本的には終了です。


7
レイヤーをまとめるには?
レイヤー数が多いと、ちょいと見た目美しくありません。
まとめる方法は、オブジェクトを左クリックし「コピー」。
別のレイヤーで左クリックし「同じ位置に貼りつけ」でまとめていきます。
ちゃんとActionScriptもコピーされます。
後はいらなくなったレイヤーを削除してください。



 
Copyright (C) 2008 森静四郎, All rights reserved.