フラッシュサウンドのフェードアウトの方法

このQ&Aのポイント
  • フラッシュムービーでBGMをループして鳴らす設定をした後、音をフェードアウトしながらシーンを切り替える方法について教えてください。
  • on/offボタンでBGMがループして鳴るような設定をした後、次のシーンに行く直前で音をフェードアウトしてシーンを切り替える方法について知りたいです。
  • フラッシュムービーを作成中で、BGMをループして鳴らす設定をした後、シーンが終わる直前で音をフェードアウトしながら次のシーンに行く方法を教えてください。
回答を見る
  • ベストアンサー

フラッシュ サウンドのフェードアウト(シーン終わりで自動的に)

はじめまして。アクションスクリプトに不慣れで、 うまくいかなくなってしまったので、質問させてください。 フラッシュムービーを制作しているのですが on/offボタンでBGMがループして鳴るような設定を 以下を参考にさせていただき、つけました。 http://oshiete1.goo.ne.jp/qa1789705.html そしてさらに私がしたいことは、 「その音をつけたシーン」が終わる直前で、 フェードアウトしながら音を消してから次のシーンに行くことなのですが(音を鳴らしていた場合)、 その際はタイムラインにどのようにアクションスクリプトを記入すればよいのでしょうか??。 それとも、on/offのオブジェクトにアクションスクリプトをつけるべきなのでしょうか?。 stopAllSounds();を記入すると「プツっ」といきなり音楽が途切れてしまいますよね。 そこで自分なりに調べて.setVolumeなども試してみましたが、どうもうまくいきません。 私が勉強不足なので、簡単なことなのかもしれないのですが、 どなたか詳しい方、お教えいただければとてもうれしいです。

  • Flash
  • 回答数2
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • U-inu
  • ベストアンサー率66% (2/3)
回答No.1

以下の方法はどうでしょうか? // 1フレーム目 bgm_sound = new Sound(); bgm_sound.attachSound("bgm"); bgm_sound.start(0,999); vol = 100; // 2フレーム目 vol--; if (vol == 0) { gotoAndPlay(_currentframe+2); } else { bgm_sound.setVolume(vol); } // 3フレーム目 gotoAndPlay(_currentframe-1); // 4フレーム目 stop(); trace("停止");

crjcrj
質問者

お礼

親切に教えてくださってありがとうございます!! またひとつ勉強になってうれしいです。 on/offボタンにつけているので、やはりフレームにscriptを設定すると 音がだぶってしまったりするので、教えていただいたのを元に もう少し書き方を試してみて、それでだめだったらボタンなしでフェードアウト版で出稿しようと思います!ありがとうございました!!

その他の回答 (1)

  • U-inu
  • ベストアンサー率66% (2/3)
回答No.2

すみません、4フレーム目を間違いました(汗 vol--; bgm_sound.setVolume(vol); if (vol == 0) { bgm_sound.stop(); gotoAndPlay(_currentframe+2); }

crjcrj
質問者

お礼

ご丁寧にありがとうございます! 音はちゃんとじょじょに消えていきました! ただon/offボタンとだぶるので、もう少しそのあたりをいじってみます。

関連するQ&A

  • Flashでアニメーションとサウンドを違うタイミングでループさせたい

    こんばんは! Flash8を使ってHPにアップするSWFファイルを作成しています。 アニメーションもサウンドもループ再生させたいのですが、アニメーションの長さとサウンドの長さが違いうまくループさせることができません。 アニメーションは56秒、サウンドは1分48秒という感じです。 さらに、サウンドはON・OFFで音が制御できるようになっています。 下記のスクリプトで挑戦してみたのですが、ON・OFFを押すたび音が増えて輪唱のように何重にも重なって聞こえてきます。 「ON・OFFムービークリップ1フレーム目」 stop(); _root.soundA = new Sound(); _root.soundA.attachSound("00000.mp3"); _root.soundA.start(0,999); 「シーンにおいたON・OFFムービークリップ」 on (release) { if (_root.soundA.getVolume()>0) { _root.soundA.setVolume(0); _root.on_off.gotoAndStop("soundoff"); trace(_root.soundA.getVolume()); } else if (_root.soundA.getVolume()<=0) { _root.soundA.setVolume(100); _root.on_off.gotoAndStop("soundon"); } } 質問内容がわかりにくいかもしれませんが、ご回答よろしくお願いします。

  • flashの音再生について

    main.swfにactionscript2.0で音のon/offしているのですが、 offになって欲しくない音までoffになってしまいます。 スクリプトで呼び出している音ならばまだわかるのですが、 flvで外部から読み込み再生しているファイルなので、 訳が分からず困っています。 ちなみに音再生スクリプトはフレーム上に以下 //BGM制御用のダミーのムービークリップを作る this.createEmptyMovieClip( "bgm_clip" , 0 ); //BGMの設定 sndbgm = new Sound( bgm_clip ); sndbgm.attachSound( "BGM01" ); sndbgm.setVolume( 100 ); sndbgm.onSoundComplete = function() { //無限ループ再生 sndbgm.start(); }; //BGMを再生 sndbgm.start(); //BGMのボリュームとフェードの速さを管理する変数 bgm_vol = 100; fade_spd = 5; //SE設定 allse = new Sound(); allse.setVolume( 100 ); S1 = new Sound(this); S1.attachSound("SE01"); S2 = new Sound(this); S2.attachSound("SE02"); S3 = new Sound(this); S3.attachSound("SE03"); on/offにはMCで以下の様にしています。 on (release) { if (this._parent.sndbgm.getVolume()>0) { this._parent.sndbgm.setVolume(0); this._parent.allse.setVolume(0); this._parent.v_on_off.gotoAndStop("soundOFF"); } else if (this._parent.sndbgm.getVolume()<=0) { this._parent.sndbgm.setVolume(100); this._parent.allse.setVolume(100); this._parent.v_on_off.gotoAndStop("soundON"); } } SE再生にはフレーム上に S1.start(); と入れています。 使用バージョンはCS4になります。 どなたか判る方、教えて下さい。

    • ベストアンサー
    • Flash
  • スクリプトでサウンドのフェードイン、フェードアウト

    いつも、ありがとうございます。FLASH8です。 フレームスクリプトからのサウンドのフェードイン、フェードアウト制御についてお聞きします。 ナレーションがスタートしたらBGMをフェードアウト、ナレーションが終わったらBGMをフェードインさせたいのですが、見えないところにムービークリップを作ってムービークリップを読み込む度にサウンドレベルをプラス(マイナス)していき、それをフレームから変数を使って制御する方法で可能でしょうか?また、もっと良い方法があるでしょうか? よろしく、お願いします。

    • ベストアンサー
    • Flash
  • Flashでボタンをクリックするとフェードイン、フェードアウトする

    アクションスクリプト初心者なのですが、 スクリプトで、ボタンをクリックすると 現在のフレームのムービークリップがフェードアウトしながら、 次のページのムービークリップがフェードインする方法を ご存知でしたら、教えていただけないでしょうか。 ムービークリップがロードしたら、 フェードインするところまでは出来たのですが、 それだと、現在のムービークリップがフェードアウトしないので 困っています。 ムービークリップがロードしたら、 フェードインするスクリプトは、 onClipEvent (load) { _alpha = 0; } onClipEvent (enterFrame) { _alpha += 2; } と記載しております。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • ●Flash MX サウンドのon/offボタン

    現在、個人的にflashでアニメムービーを制作している所なのですが、 ON/OFFボタンについて質問させて頂きます。 flashは使って3年ほどになりますが、主に描画やアニメなど特定の機能しか使っておらず、 フラッシャーとしてまだ初心者の域を出ていません; BGM、効果音のON/OFFボタンについて、stopAllSoundsを使うなど、自分なりに色々試してみても思い通りの結果にならず、過去ログなどを参照しても全く解らなかったので改めて質問させて頂きます。 約1分ほどのムービーの頭にロード画面、「START」ボタンを押してムービーが流れる仕様です。 ムービーの作り方は、カットごとにムービーファイルを作り、効果音はそのファイルに当てはめています。 そして、カット毎に作ったファイルを「新規のムービーファイル」に順番に並べてはめ込み、1分のムービーとして流れるようにしています。 BGMは、「新規のムービーファイル」にはめ込んであります。 ムービー中に、BGMがずっと鳴り続け、途中にムービーの内容に合わせて効果音を鳴らすようにする、そこまでは出来たのですが、 ON/OFF機能を実行させる事が出来ません。 処理としては、OFFを押した時に、BGM・効果音ともにボリュームをゼロの状態に、 ONを押したら、またBGM・効果音が最初から鳴り始めるのではなく、ボリュームを100の状態になるようにしたいんです。 ON/OFFボタンは、常にムービーファイル上に表示させています。 どういう書き方、作り方をしたら上手く機能するんでしょうか? 宜しくお願いします。

  • フェードイン・アウトについて

    アクションスクリプトを使用して、 ムービークリップをフェードインさせ 一定時間後にフェードアウトさせることは可能でしょうか? ご存知の方いらっしゃいましたら、 回答宜しくお願いします。 環境: Win XP FlashMX

  • Flash8でサウンドが鳴りません

    Flash初心者です。 ActionscriptでBGMを流し、ユーザーがプレイとストップの制御ができるようにしたいのですがうまくいきません。 1、ボタンA(レイヤー1)とボタンB(レイヤー2)を作り、文字(レイヤー3)とscript(レイヤー4)を組み合わせてオブジェクトを作りシンボル化しました。 2、ライブラリ内のwavサウンドをリンゲージしました("bgm") 3、レイヤー4の1フレーム目に this._sound = new Sound(); this._sound.attachSound("bgm"); this._sound.start(0,999); 4、ボタンAに on(release){ this._sound.start(0,999); } 5、ボタンBに on(release){ this._sound.stop(); } と記述してあります。 シーンプレビューでは音が鳴り制御もできるのですが、 上記のシンボルをシーンのレイヤーに配置してムービープレビュー すると音が鳴りません。 どうしてでしょう?? さっぱり分からず困り果ててます。 どなたかご伝授御願いします。

  • ボタンをクリックするとフェードイン、フェードアウトする方法。

    こんにちは、スクリプトでのフェードイン・フェードアウト表示についての質問なのです。ヴァージョンはFlash MXです。 既存の質問で Flashでボタンをクリックするとフェードイン、フェードアウトする。 の応用を教えていただきたいのですが、 http://oshiete1.goo.ne.jp/qa2766651.html ステージ上にあるいくつかのボタンを押した時に、ある表示部分がフェードアウトし新たな画像がフェードインで表示するようにさせたいのですが、この時各ボタンによって表示部分を変えたい、つまり /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// ///////////////////////////表示画像//////////////////////// /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// ボタンA ボタンB ボタンC ボタンD ボタンAをクリック時にA画像を ボタンBをクリック時にB画像を フェードイン・フェードアウト表示させたいのです。 つまりフェードアウトした後指定したフレームへ移動させたいのです。 これを複数ボタンで分ける方法がわかりません。 ボタンが一つなら on (release) { // ムービークリップ my_mc 内の変数 flag の値を 1 にする _root.my_mc.flag = 1; } のmy_mcの部分をその画像のインスタンス名へ変えればできるのですが、ボタン数が複数になると一つしか指定できないのでこのやり方では無理です。 ムービークリップがボタン代わりであれば直接スクリプトを書いて on (release) { // 変数 flag の値を 1 にする flag = 1; } と命令することもできるのですが。 質問が分かりにくくて申し訳ありません。 もしご存じの方がおられましたら教えていただきたいです。 よろしくお願いします。

  • 前回のフェードイン/フェードアウトの続きなんですが・・・

    昨日、sassakun様にご回答いただいたように、 ムービークリップでFLASHを作り直させて頂きました。 基本的には無事に動いたのですが、 問題点が2点ありますので、もしよろしければ教えて下さい。 1つ目は、 ボタンでMCを読み込むにつれて、swfファイルの動きが大変遅くなってしまうという現象です。 不要になったMC(階層が一つ下になった時点/最上位階層でなくなった時点)を をremoviMovieClip()で消滅させたいと思い、 各ムービークリップの45フレーム目に (45フレームまでがフェードイン/アウトで重ねたい部分なので) そのMC以外を指定してアクションスクリプトを記入したのですが、 消えませんでした。 記入したアクションスクリプトは、 mc0の45フレーム目に mc1.removeMovieClip(); mc2.removeMovieClip(); mc1の45フレーム目に mc0.removeMovieClip(); mc2.removeMovieClip(); mc2の45フレーム目に mc0.removeMovieClip(); mc1.removeMovieClip(); です。 2つ目は、 Fumio Nonaka.com様の3D_Boxをmc2にコピーしたのですが、 立方体が表示されなくなってしまいました。 これについては全くわからないのですが、 深度に関係があるのでしょうか? <利用させて頂いているアクションスクリプトの掲載URL> http://www.fumiononaka.com/Sample/3D_Box/3D_Box.html 下段のSource to download (約192KB/Flash 8形式): 3D_Box.zip 以上、2点の解決方法を教えて頂けないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • flashのBGMのoff/onボタン

    はじめまして。Flashがまだよくわかっていない初心者です。マニュアル本、こちらのhttp://oshiete1.goo.ne.jp/qa1789705.htmlを参考にやってみましたが、わかりません。お願いです。教えてください。 最初に開いたらBGMがデフォルトで鳴っていて、「サウンドOFF」ボタンを押すとBGMは停止し、アニメーションは最後までという内容です。 現在の状況および作成手順ですが、 「シーン1」には2つレイヤーがあり、1つ目のレイヤーは「but」とし、これにはサウンドOFF/ONのムービークリップを配置してあります。フレームは1つだけで、ここに下記を記述(action)しました。 ---------------------------------------- onClipEvent(load) { //サウンドを挿入 snd = new Sound(); snd.attachSound( "BGM" ); //無限ループ再生設定 snd.onSoundComplete = function() { this.start(); }; //サウンドの再生状況を保持する変数 //再生時true、それ以外はfalse play_flg = false; //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } on(release) { //サウンド再生時は止める if( play_flg ) { snd.stop(); play_flg = false; } //停止中の場合は再生する else { snd.start(); play_flg = true; } //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } ---------------------------------------- 2つ目のレイヤーには「写真」という名前で写真5枚がフェードインアウトしながら切り替わる、というムービークリップを制作しました。 これをプレビューすると、ムービーは実行されますがBGMは鳴りません。また「サウンドOFF」「サウンドON」のボタンが繰り返してしまいます。 デバック出力で下記エラーと表示されます。 ---------------------------------------- **エラー** シーン = シーン 1, レイヤー = but, フレーム = 1 :行 1:クリップイベントはムービークリップインスタンスでのみ使用可能です。 onClipEvent(load) **エラー** シーン = シーン 1, レイヤー = but, フレーム = 1 :行 21:マウスイベントはボタンインスタンスでのみ使用できます。 on(release) ActionScript エラー数 :2 報告済みエラー :2 ---------------------------------------- どうかどのようにしたらいいのか教えてください。お願いします。

専門家に質問してみよう