音を出す_Flash
SEを出す
Flashにてゲームの効果音のような「音」を制御します。
メニューの[ファイル(F)]-[読み込み(I)]-[ライブラリに読み込み]にて、mp3/wav/aif形式のサウンドファイル(効果音など)を読み込みます。すると、ライブラリに音情報が登録されます。
ライブラリウィンドウより対象となるサウンドを右クリックし、ポップアップメニューより「リンケージ」を選択します。
リンケージプロパティウィンドウにて、「ActionScriptに書き出し」をチェックし、識別子をつけます。以下は「se_sound1」としています。
後は、ActionScriptでの処理となります。
//サウンド用オブジェクトの生成 m_se01 = new Sound(); //サウンドの割り当て m_se01.attachSound("se_sound1"); //ボリュームの指定(1-100) m_se01.setVolume(100); //サウンドの左右バランスの指定(-100:左 〜 0:中央 〜 100:右) m_se01.setPan(0); //サウンドを鳴らす m_se01.start(0, 1); //停止 m_se01.stop(); //オブジェクトの削除 delete m_se01;
上記は流れを説明しています。が、上記のとおりに1フレーム内でのActionScriptとして記述した場合は「音が鳴らない」ことに注意してください。1フレームの処理で「音を鳴らす→音を止める」の流れを記述したところで最終的には、「鳴らさない」と判断されて音は出ません。音を鳴らしっぱなし(ただし1ループ分のみ)にして、そのままにするかストップのイベントのタイミングで「stop()」を呼ぶとよいでしょう。
では、順に説明をしていきます。
「m_se01 = new Sound();」にて、サウンド用のオブジェクトを生成し「m_se01.attachSound("se_sound1");」でライブラリウィンドウの「リンケージプロパティ」ウィンドウ内で指定した識別子を第一引数として渡します。これで、オブジェクトにサウンドが割り当てられます。
「m_se01.setVolume(100);」にて音量(ボリューム)を指定します。1〜100の整数値を指定することができます。1が最小で100で最大です。遠くの足音がだんだん近づいて大きくなってくる、なんて表現には1から順番に100に近づける、とするといいでしょう。
「m_se01.setPan(0);」は、ステレオで音を出す際の左右のバランスです。-100で左から、0で中央から、100で右から、となります。空間的に音を配置する場合に使用できます。
「m_se01.start(0, 1);」で音を出します。第一引数(ここでは0としています)は音の開始位置(秒)、第二引数は繰り返しの回数(ここでは1としています)を指定します。
音が鳴っている(start)状態で「m_se01.stop();」とすることで音を停止します。
「delete m_se01;」はnewしたオブジェクトを削除しています。完全にメモリから使用したデータを破棄しています。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.