• ベストアンサー

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

hokuto_dsの回答

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

7、8の回答の追加です。 「一番最初のロールオーバーで、音が鳴らない」欠点の対処法を見つけましたので、追記します。 方法としては、「ボタンの後ろに、二回りくらい大きい透明ボタン(ヒット領域しか持たないボタン)を配置」し、その透明ボタンに「rollOverでサウンドボリュームを100」のアクションを仕込んでおきます。これで、ボタンにさわる前に透明ボタンのアクションが作動し、ボリュームが戻って音が鳴ります。 アクション全体は 「各シーンの最初のフレーム」に koukaon=new Sound(_root); koukaon.attachSound("piyon"); koukaon.setVolume(0); (※サウンドを「リンケージ」であらかじめ書きだしておくのは、前の解説といっしょです。koukaonというのは、新しく作成するサウンドオブジェクトインスタンスの名前なので、任意の名前で可。"piyon"は、サウンドの「リンケージ」でつけた名前を入れてください) 「メインのボタン」に on(rollOver){ koukaon.start(); } (※もちろん、on(press)でシーンジャンプのアクションも入れます) 「透明ボタン」に on(rollOver){ koukaon.setVolume(100); } これで、動作します。 注意点は、透明ボタンを必ず「メインボタンの後ろに」おくことと、透明ボタンとメインのボタンの大きさの差ですね。あんまり差(つまり、今回アクションを作動させるにあたっての、透明ボタンの実際のヒット領域)が小さいと、一瞬でカーソルが通りすぎてしまって作動しないこともあるみたいです。3回りくらい大きければだいじょうぶかとも思いますが、実際ためしてみてください。いろいろとかねあいもあると思いますので。 あと、ボタンふたつを新しいムービークリップの中に入れて、そのムービークリップに「フレームに割りあてるアクション」を割りあてて動かすこともできると思います。この場合、フレームにサウンドのアクションを記述せず、すべてそのムービークリップと、中のボタンで動くことになるので、構成としてはこっちがすっきりかも。 そのばあい、ムービークリップに割りあてるアクションは onClipEvent(load){ koukaon=new Sound(this); koukaon.attachSound("piyon"); koukaon.setVolume(0); } となります。new Soundが"this"を参照する点を注意してください。 ただ、なぜかこの方法をためしてみたところ、シーンをジャンプするためのボタンアクションがどうも動かない‥‥;;フレームジャンプは問題ないのに‥‥。。バグなのか、私の指定のしかたに問題があるのか、ほかのケースでも、フレームジャンプは問題ないのに、シーンジャンプになるとお願いもしてないような動きをするボタンがいる‥‥‥‥;;; ので、このあたりは、使う場合は、おためしください。

omokawa
質問者

お礼

hokuto_dsさん、こんにちは。 ご親切な回答、本当に感謝します。 お教えいただいた一連の作業、まだ試してはいません(すみません…)が、これらは私にとって、とても貴重で重要なものです。 なんとも恐縮のほかはありません。 >シーンをジャンプするためのボタンアクションがどうも動かない‥‥ これは、もしかしたら、ムービークリップ内における、親タイムラインの認識方法に「シーン名」が存在しないからではないでしょうか? 「ラベル名」のみにするといいのかも…、試してみます。 それでは、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を使用するのかな?とも考えたのですがよくわからず困っています、、、、 長文で申し訳ないのですが、よろしくお願いします。