• ベストアンサー

Flash:ボタンのサウンド(マウスオーバー時)設定について

hokuto_dsの回答

  • hokuto_ds
  • ベストアンサー率45% (106/233)
回答No.6

アクションスクリプトを勉強しはじめたばかりの者なので、ちょっと足元はおぼつかないのですが、私が見つけたやり方を紹介します。(ただし、後述しますが、欠点があります)。フラッシュのバージョンは5です。 ざっとアクションの基本を説明すると、まず 「各シーンの最初のフレームで、ボタン効果音のサウンドボリュームを0(無音)にする」 → 「ボタンアクション  on(rollOut) でボタン効果音のサウンドボリュームを100(デフォルト)に設定する」です。これで、まずそのシーンにとんだ時、最初のフレームでボタンの音が無音になり、一度カーソルがはずれるまで鳴らなくなります。 サウンドをオブジェクトとして使うためには、サウンドに識別子をつけて書き出す必要があります。本などにも書いてありますが、「ライブラリ」パレットでそのサウンドを選び、パレットの横についているメニューから「リンケージ」を選択、でてきたボックスの「このシンボルを書きだす」をチェック、「識別子」に好きな名前(英数字)をいれて「OK」します。   ☆私は「識別子」にとりあえず「piyon」という名前を使ったので、それでスクリプトを記述してあります。好きな名前に変えて使ってください。あと、「kouoaon」というのも、好きな名前にとりかえてください。 [スクリプト表記](//以下は、コメントです。そのままペーストしても問題ないです) ●一番最初のフレームに koukaon = new Sound(_root);  koukaon.attachSound("piyon"); //サウンドの読み込み koukaon.setVolume(0); //サウンドボリュームを無音に設定 ●各シーンのボタンオブジェクトに on(rollOut){ koukaon.setVolume(100); //カーソルがはずれたら、ボリュームを戻す } on(rollOver){ koukaon.start(); //カーソルがのったら音を鳴らす }

omokawa
質問者

お礼

hokuto_dsさん、こんにちは。 詳細なご回答、本当にありがとうございます。 参考にさせていただきます。

関連するQ&A

  • マウスオーバーで伸びるサブメニューが正しく動作しません

    こんばんは。 以下サイトのメインメニューの左三つのボタンのように、 ボタンをマウスオーバーするとボタンの上にサブメニューが上がり、 サブメニューにあるテキストがそれぞれボタンになっているという仕組みを作ろうとしています。 http://www.mizkan.co.jp/index_1.html ・マウスオーバー addEventListenerのMOUSE_OVERでボタンの上にカーソルが乗ると、 gotoAndPlayでサブメニューが上がるアニメーションのフレーム番号に飛ぶ。 ・マウスアウト addEventListenerのMOUSE_OUTでボタンからカーソルを外すと、 gotoAndPlayでサブメニューが下がるアニメーションのフレーム番号に飛ぶ。 上記のscriptを作るところまでは上手くいきました。 しかしマウスオーバー時に伸びているサブメニューにマウスカーソルを乗せると、 マウスオーバーとマウスアウトのアクションが繰り返し実行され、 サブメニューが上がったり下がったりのアニメーションを繰り返してしまいます。 この動きは、おそらく、サブメニュー部分の領域が一瞬ボタンではないと認識され、マウスアウトのアニメーションが動きだすが、やはりボタンとして認識されマウスオーバーのアニメーションが動き出す。という動きがループしてしまっているのではないかと思われますが、解決方法が見つかりませんでした。 上に記載した方法以外でも同じような動きになる作り方があればご教授ください。 宜しくお願い致します。

  • FLASHのボタン

    FLASH8で、ホームページのメニューボタンを作っております。 デザインとしては、 (1)ボタンに、マウスカーソルを乗っけると、 (2)そのボタンが、”クルクルと2回転し停止”する ※”クルクルと2回転して停止”が終わる前に、 マウスカーソルをそのボタンから離しても、 その”クルクルと2回転して停止”というムービー(アクション?)はきちんと最後まで再生させる ようにしたいと思っております。 ”2回転させて停止”させるまでは、ムービークリップの、 最初のフレームに『start();』を、 最後のフレームに『stop();』のactionscriptを入れることでなんとかできるようになったのですが、 どうしても、上記の※の部分が出来ません・・・ マウスカーソルをボタンから離すと、”クルクルと2回転して停止”が完了する前に、ピタッと、最初の静止した状態のボタンに戻ってしまいます。 どなたか、解決法を教えていただけないでしょうか。

  • マウスオーバーで全ムービークリップ停止

    上手く説明出来ないのですが、 ムービークリップのメニューを作ろうとしています。 マウスオーバーで全部のムービーが止まる様にしたくて、 一つのムービークリップに全部のムービークリップのメニューをまとめ、選択すると ーーーーーーーーーーーーーーーーここから シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 ーーーーーーーーーーーーーーーーここまで とエラーになってしまいます。 だからといってメニュー一つ一つに on(rollOver){ stop(); } on(rollOver){ play(); } を記述しても、マウスオーバーしているメニューだけが止まって、 他のメニューは動いてぐちゃぐちゃになってしまいます。 ひとつのメニューをマウスオーバーするだけで他全部のムービークリップも停止、 マウスをはずすと同じ所から動きだす事って出来ますか? いい方法がありましたら教えて下さい。

  • ボタンサウンド 

    ムービークリップでボタンを作っているのですが、アップ、オーバー、ダウン、アウト各20フレームずつです。オーバーにだけサウンドを入れたいのですが、オーバーの始まるフレームに、サウンドを指定して入れているのですが、クリックしても、音がなってしまうのですが、クリックしても音が鳴らないようにするには、どうしたらいいでしょうか?よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Flashマウスオーバー

    Flashで、ループが一回の小さなムービーを流し、 その上にマウスを合わせると(クリックではなくオーバーのみ)、別の絵が表示されてストップし、またマウスを外すと元のムービーがはじめから流れるものを造りたいのですが、ボタンシンボルで造ると、マウスを外してもムービーが最初からは始まりません。 ボタンシンボルを使わずにon(release)のような記述で、クリックではなくマウスオーバー時に反応させるにはどうしたらよいのでしょうか? 良いアドバイスがあれば教えてください。 宜しくお願いします。

  • flashメニューボタン

    flashでメニューボタンを制作しているのですが…。 (マウスオーバーの時に徐々に明るくなるような感じで) メニュー内で他のページに飛んだ時にそのページのボタンをマウスオーバー時のときのように色を変えたいのですが何か良い方法はありますか? サイトはオールFLASHではなく、メニュー(ヘッダー)だけFLASHです。

  • フラッシュでバナーボタンを作るには?

    バナーボタンをGIFアニメでなく、フラッシュで作りたいのですが、作り方が間違っているせいかちゃんとリンク先にとびません。というか、ボタンにもなっていません... (イメージのバナーボタンは常にアニメーションで動いていて、カーソルを合わせてクリックすると新しいウインドウがでてリンクするという感じです。) 間違っていると思われる作り方を参考に書きます。 (1)シーン1でムービーを普通に作る→ (2)そのシーン全部のレイヤーを選択して「シンボルに変換」でムービーに変換する→ (3)新規のシーンをつくり、新規ボタンシンボルをつくる→ (4)アップからヒットフレームまで全てに(2)でつくったムービーをいれる (こうすれば、常に動いているかなと思いました)→ (5)(3)のシーンに戻りボタンのグラフィック自体にアクション「getURL」を設定する→ (6)パブリッシュプレビューでみると(1)で作ったアニメーションは動いているが 完全にボタンになっておらず、(1)のはじめの方のフレーム分が動いている時のみカーソルが指先に変わる(ボタンに一瞬なっている?)だけで、その先のフレーム分の動きになるとカーソルも変わってしまう。 う~ん、フラッシュバナーなんてとっても簡単なのかと思っていましたが難しいっ!ちなみに「FLASH5」をつかっています。参考になるURLだけでもいいので、どなたかお分かりになる方、是非教えてくださいっ!

  • ≪FLASH≫マウスオーバーすると、上に説明が出るボタン

    初心者です。参考書を読んで、FLASHのだいだいはわかりますが、実践はまだというところです。 それで、このようなFLASHを作りたいんですが、作り方を教えてくれませんか? それは、Webで使うメニューで、縦長で、マウスオーバーすると、文字が青くなり、真上(10pxくらい上)に説明が出るものです。 それで、1つ1つの項目はボタンで作りました。 アップに黒い文字、オーバーに青い文字をいれました。 シンプルボタンをオンにすると動作しました。 でも、説明はどうやっていれたらいいのかわかりません。 ボタンのオーバーに説明のテキストを入れると、オーバーしているときのボタンの範囲が上に広がってしまって、マウスを上に移動したとき、上にある項目のボタンが動作しません。 お願いします。

  • マウスオーバーでリンク

    ・フレームページ.html ・メニューページ.html ・メインページ.html ・リンク先ページ.html 上記のようにページを用意しメニューページには画像を設置。 画像はイメージマップを使用し、マウスオーバーでメインページをリンク先ページにリンクし、マウスアウトでメインページに戻る、クリックでリンク先ページ。 というふうにしたいのです。 可能かどうかもわかりませんが、よろしくお願いします。

  • FLASH5で、ボタンにロールアウト時にもアニメーションさせたい

    FLASH5を使用しているのですが、ボタンにマウスのロールオーバーで アニメーションを設定することはできますが、ロールアウトしたときにも アニメーションを設定したい場合、どのような方法があるか教えていただきたいです。 今私が作りたいのは「何もないところにロールオーバーするとボタンがゆっくり表示され、 ロールアウトするとゆっくり消える」というものです。 現時点では、私はムービークリップの中にボタンを入れ、最初のフレームで フレームアクションに stop (); を設定し、そこに配置してあるボタン(ここでは、透明なボタン)に on (rollOver) { play (); } で次のフレームに行くようにし、そこでロールオーバー時のアニメーション(ゆっくりボタンが現れる) を作成して、止めたいところでフレームアクションに stop (); を設定し、その停止時に配置してあるボタン(表示されている可視状態)に on (rollOut) { play (); } を設定し、その次のフレームからはロールアウト時のアニメーション(ゆっくりボタンが消える) を作成しています。 これだと、動作はするのですが メニュー等のようにボタン(この場合はボタンを含んだ ムービーですね)を隣接させて複数置いた場合などに on (rollOut) { play (); } のスクリプトがうまく効かず、他のボタンにロールオーバーしているにも関わらず前にロールオーバーした ボタンがそのままの状態(ボタンが消えず表示されたままの状態)で残ってしまいます。 tellTargetとifを使用するのかな?とも考えたのですがよくわからず困っています、、、、 長文で申し訳ないのですが、よろしくお願いします。