!!!SEを出す Flashにてゲームの効果音のような「音」を制御します。 メニューの[ファイル(F)]-[読み込み(I)]-[ライブラリに読み込み]にて、mp3/wav/aif形式のサウンドファイル(効果音など)を読み込みます。 すると、[[ライブラリ|ライブラリ_Flash]]に音情報が登録されます。 ライブラリウィンドウより対象となるサウンドを右クリックし、ポップアップメニューより「リンケージ」を選択します。 {{ref_image se_20040807.png}} リンケージプロパティウィンドウにて、「ActionScriptに書き出し」をチェックし、 識別子をつけます。以下は「se_sound1」としています。 {{ref_image se2_20040807.png}} 後は、[[ActionScript|アクション_Flash]]での処理となります。 //サウンド用オブジェクトの生成 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したオブジェクトを削除しています。完全にメモリから使用したデータを破棄しています。