メイン 迷える子羊の部屋【初心者専用】 BGMの制御について | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fujiringo | Åê¹ÆNo.20812 投稿日時: 2005-10-13 21:29 |
新米 居住地: 投稿: 2
使用環境:
Win2000,Flash8 |
BGMの制御について はじめて質問させていただきます。よろしくお願いします。
制作環境 WIN2000 MX2004です。 実現したいことは、 ホームページアクセス時には、音が再生されていて、ボタンを押すと停止。またボタンを押すと再生という動作を シーンの移動に関係なくおこないたいのですが、色々と試していますが、上手くいかず、どのようにすればいいのか教えてください。 現在メインとなる(main.swf)と BGMだけのはいった(BGM.swf)を用意して、 main.swfにBGM.swfを読み込んでいます。 ところが、main.swfはいくつかのシーンでわけているため (シーンごとにBGM.swfを読み込むためのターゲットとなるMCを置いています。)、 シーンが移動するごとにBGMが重なって再生されてしまいます。 BGM.swfは、 シーンの1フレ目に ----------------------- mySound = new Sound(); mySound.attachSound("BGM"); mySound.start(); ----------------------- としてリンケージした音声を読み込み、 違うレイヤーにbb_select_mcをおき、 ボタンクリックでON/OFFのボタンが切り替わるように、 そのMCの1フレ目にONボタンをおき、下記のように記述しています。 ----------------------- on (release) { _parent.mySound.stop(); mySound.stop(); this.nextFrame(); } ----------------------- 2フレ目にOFFボタンをおき、下記のように記述しています。 ----------------------- on (release) { mySound = new Sound(); mySound.attachSound("BGM"); mySound.start(); this.prevFrame(); } ----------------------- これをmain.swfに、targetというMCをつくり、 そのMCの1フレ目に、this.loadMovie("BGM.swf");として、 BGM.swfを読み込んでいます。 上手く伝わらなかったらすみません。 よろしくおねがいいたします。 |
笠居トシヒロ | Åê¹ÆNo.20813 投稿日時: 2005-10-14 1:14 |
マスター 居住地: 兵庫 投稿: 870
使用環境:
SnowLeopard, Safari4, CS4 Windows7, IE8, CS4 |
Re: BGMの制御について 引用:
実現したいことは、ホームページアクセス時には、音が再生されていて、ボタンを押すと停止。またボタンを押すと再生という動作をシーンの移動に関係なくおこないたい BGMをON/OFFしたいだけですよね?なぜ音だけのファイルを「読み込み」してるんでしょうか? 引用: main.swfはいくつかのシーンでわけているため(シーンごとにBGM.swfを読み込むためのターゲットとなるMCを置いています。)、シーンが移動するごとにBGMが重なって再生されてしまいます。 main.swfのルートタイムラインの1シーン目の1フレーム目に、BGMサウンドを素直に配置しておけば良いんじゃないですか? サウンドの同期を「イベント」か「スタート」にしておけば、シーンが切り替わっても、サウンドは影響を受けません(そのまま鳴り続ける)。 ただし、ON/OFFのためのボタンのスクリプトは「start(), stop()」ではなく、「setVolume()」を使いましょう。ONでボリューム100,OFFでボリューム0です。 以下に「BGM.swfを使わない場合」のコードを示します。
どうしても、targetMCにBGM.swfを読み込んでなんとかしたいのであれば、読み込むtargetをムービー全体通して1つにする必要があります。 シーンが分かれている場合、オーサリング時に配置したオブジェクトはシーンの切り換えでクリアされてしまいますから、1シーン目のアタマで、targetを複製(duplicateMovieClip()、または attachMovie())して、その複製したMCに読み込むようにしましょう。 スクリプトで複製されたインスタンスは、キーフレームに影響される事なく存在し続けますから、シーンごとにtargetを配置する必要が無くなり、結果として音が重なって再生される事もなくなるでしょう。 でも、最初に示した方法のほうが、数倍簡単ですよ
|
fujiringo | Åê¹ÆNo.20822 投稿日時: 2005-10-14 15:10 |
新米 居住地: 投稿: 2
使用環境:
Win2000,Flash8 |
Re: BGMの制御について ご返答ありがとうございます。
できました! ご丁寧に教えていただき、ありがとうございます! FLASHは、はじめてでしたので、色々とここの過去の書き込みを 参考にさせていただき作業しておりましたが、経験不足のため、必要ない処理までをしてしまっていました。 ご指摘いただき、きちんとつくることができました。 あとは、BGMをループさせようかと思います。 また、過去の書き込み見て奮闘します。 ありがとうございました。 |
笠居トシヒロ | Åê¹ÆNo.20823 投稿日時: 2005-10-14 15:31 |
マスター 居住地: 兵庫 投稿: 870
使用環境:
SnowLeopard, Safari4, CS4 Windows7, IE8, CS4 |
Re: BGMの制御について 難しく考えず、できるだけ簡単に作れる方法を探すといいですよ。
引用: あとは、BGMをループさせようかと思います。 そこは、ユーザーズマニュアルかヘルプ見たほうが早いかと(笑) ちなみにサウンドの「同期」の横に「繰り返し」とあるところを「ループ」に変更するだけですけど。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |