• ベストアンサー

SEのオンオフ

BGMのオンオフは見かけるのですが、効果音のオンオフの制御は出来るのでしょうか? 現時点では各アイコン(ボタンタイプのシンボル)のオーバーのところにwavファイルを置いてます。 これをオンオフ切り替える事で、アイコンにマウスを併せても音がならないようにしたいのです。 音源ファイルの置き方にも問題がある気がしますが...。 環境はCS4です。 説明不足かも知れませんが、教えて戴けたら幸いです。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です。 > ボタンタイプのシンボルにして、 > オーバーのフレームにだけ音源ファイルをおいてあります。 そういう状況でしたら次のようにするのが1つの方法だと思います。 (その状況だと案は以下の1つくらいしか思い浮かばない。) ステージ上には5つのボタンがあったとします。  [■sound]  [■top] [■mail] [■blog] [■link] ボタンにはそれぞれ 「sound_btn」「top_btn」「mail_btn」「blog_btn」「link_btn」 というインスタンス名を付けていたとします。 ※ インスタンス名は,   各ボタンを1つずつ選択した状態で   ステージ右の「プロパティ」パネルの   上の方にある    [<インスタンス名> ]   となっている入力ボックスで設定できます。 そのようになっている状態で それらボタンが存在するフレーム(キーフレーム)に次のスクリプトを書きます。 --------------------------------- //音 オン・オフ のフラグを用意(初期値:オン) var sound_flg:Boolean = true; //「sound_btn」クリック時の動作を定義 sound_btn.onRelease = function():Void { //もしフラグの値が true であれば if (sound_flg) { //フラグの値を false にする sound_flg = false; //(目印にこのボタンを半透明にする) this._alpha = 50; //もしフラグの値が false であれば } else { //フラグの値を true にする sound_flg = true; //(目印にこのボタンを不透明にする) this._alpha = 100; } }; //関数 deleteSound の定義 function deleteSound():Void { //もしフラグの値が false であれば if (!sound_flg) { //全ての音オブジェクトを削除 stopAllSounds(); } } //「top_btn」~「link_btn」ロールオーバー時に //関数 deleteSound を実行 top_btn.onRollOver = deleteSound; mail_btn.onRollOver = deleteSound; blog_btn.onRollOver = deleteSound; link_btn.onRollOver = deleteSound; --------------------------------- 要するに「音制御ボタン」を1回クリックしたときに 用意したフラグ用変数の値を false にするわけです。 そして4つの「メニューボタン」にロールオーバーしたときに そのフラグ用変数の値が false である場合に限って出てくる音を全て消すというしくみです。 音(Soundオブジェクト) にインスタンス名などを付けて その音をボタンのロールオーバー時に呼び出すような仕組みにしてあると その音を呼び出さなければ良いというだけのことになります。 そうではなく ボタン内タイムラインに配置した無名の音が勝手に鳴るしくみを作っているわけですから 勝手に鳴り出す全ての音をその都度消してしまうしか方法はないということになります。 ちなみに私が作成してみたものの参考図↓

kyo2323
質問者

お礼

ありがとうございます!無事に動作致しました。 詳細に説明戴き、勉強にもなりました。感謝です。 キーフレームに直接置くと言うやり方自体が方法論を減らしてしまうと言う事ですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

> 環境はCS4です。 それだけでは状況(状況 以前のバージョン情報)がわかりません。 ActionScript 2.0 以下 を使用しようとしている(ActionScript 1.0 や 2.0 パブリッシュ設定が条件) とか ターゲットとする Flash Player のバージョン とか(携帯用 Flash Lite である可能性もありますよね)。 もし, そんなものはどうでも良いのでしたら,「バージョンは何でも良い」という状況説明が不足しています。 > 説明不足かも知れませんが その通りですね。 ActionScript の バージョン などもわかりませんし 作ろうとされているものによっても方法やスクリプトなどは全く変わりますから何とも言えません。 したがって具体的な回答はできませんので大雑把に書きます。 何かフラグ(適当な変数)を用意して たとえば 「オン」 状態でのフラグの値を true にして 「オフ」状態でのフラグの値を false にしておきます。 そして 効果音が鳴る仕組みのアイコンをムービークリップで作成して, フラグが true のときだけ アイコン 内を 音の入ったフレーム に進める。 という方法も考えられます。 また たとえば ユーザが 「オン」 状態 や 「オフ」 状態を指定するときのボタンクリックなどで, アイコン の enabled プロパティを true や false にする方法も考えられます。

kyo2323
質問者

補足

すみません。説明不足にも程がありました...。ご指摘ありがとうございます。 教えて戴いた方法論も考えてみるとして、まずは補足分を書かせて貰います。 ActionScriptは2.0、playerは10です。 作ろうとしている物はflashメニューで、 [■top] [■mail] [■blog] [■link] のように画像が並んでいます([ ]がひとつの画像です) ひとつの画像にマウスを載せる度にそれぞれの効果音が鳴るのですが、 その音が鳴る、鳴らないをボタンで切り替えが出来るようにしたいと思います。 現時点での方法はひとつの画像ごとにボタンタイプのシンボルにして、オーバーのフレームにだけ音源ファイルをおいてあります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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(); } と記述してあります。 シーンプレビューでは音が鳴り制御もできるのですが、 上記のシンボルをシーンのレイヤーに配置してムービープレビュー すると音が鳴りません。 どうしてでしょう?? さっぱり分からず困り果ててます。 どなたかご伝授御願いします。

  • FlashCS5でwebサイト作成中のFlash初心者です

    FlashCS5でwebサイト作成中のFlash初心者です 言葉が間違っていたらすみません 今回からactionscript3.0を使用(以前は2.0使用)することにしました 「アイコンをマウスオーバーするとアクションが発生する」というボタンを作成したいのですが、 以前はボタンシンボルのオーバーフレームにムービーシンボルを入れるという方法で作成していました しかしミスだと思いますが3.0になってこの方法が出来なくなりました (ムービーを1回再生にするためのstop;がエラーになってしまった・・・) ボタンシンボルを作るよりActionscriptだけでボタンを作成する方が一般的なのでしょうか 勉強不足で申し訳ないです・・・

    • ベストアンサー
    • Flash
  • Flash5のボタン

    ソフト(他)で記入がありませんでしたので、 このコーナーで再度ご相談致します。 Flash5を使用しています。 「ボタン1」「ボタン2」「ボタン3」というボタン シンボルと「正解音.wav」と「まちがい.wav」という 音ファイルを使って、3択問題で、クリックすると 正解音あるいはまちがい音を鳴らすようにしたいの ですが、以下の手順ですと、すべてのフレーム中の 「ボタン1」サウンドが同じ音になってしまいます。 シンボル(ボタン1:編集)→「ダウン(パネル: サウンド)」→正解音.wavを設定 (「ボタン1」「ボタン2」「ボタン3」に対して、 フレーム毎にサウンドを切り替えるためには、 どのようにすれば良いのでしょうか。

  • 1つのボタンで音の違う2つの効果音を鳴らしたい

    ●1つのボタンで音の違う2つの効果音を鳴らしたい 『FlashCS3/WinXP/AS3.0/Player9 (AS経験なし)』 はじめまして。 Webサイトのコンテンツのメニューボタンを作っています。 【希望する動作】 1.マウスオーバーしたときにsound1.wavを再生 2.クリックしたときにsound2.wavを再生 現在はボタン編集で「オーバー」のところにsound1.wavを、「ダウン」のところにsound2.wavを設定しています。 しかし、これをムービープレビューして動作確認をしてみると、マウスカーソルをボタンに載せた時にsound1.wavが再生されるまでは良いのですが、クリックをしたときにもう一度sound1.wavが再生され、時間差でsound2.wavも再生されるため、結果、音が重なってしまいます。 効果音を各一回ずつ再生させるために、何か方法があるのでしょうか。 ネットや本で調べてましたが、解決できなかったのでどうか教えてください。よろしくお願いいたします。

  • Flashマウスオーバー

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

  • FLASHにサウンドを取り込みたい

    flash cs5を使用していますが Actionscriptは2.0で作業をしています。 やりたいことは ライブラリにあるサウンドファイルにリンケージ設定をして 効果音を利用したいのですが 以下のスクリプトでうまく音が出ません。なぜなのでしょうか。 教えてください。 ※リンケージは bgm と設定。 ファイルの拡張子はmp3とかwavでやってみました。 (1)フレーム1に _root.s1_sound=new Sound(); _root.s1_sound.attachSound("bgm"); _root.s1_sound.stop(); (2)ステージのボタンに on(press){ _root.s1.sound.start(); } と記述して実行しても音が出ません。 どうしてなのかわかりません。 よろしくお願いいたします。

  • flashでハイパーリンクの装飾がしたい

    flashでホームページを作っています。 その中でHTMLでいうhoverのような感じでリンクの装飾をしたいと思っています。 具体的にはマウスオーバーの際に色を変えたいです。 flashでもボタンシンボル化すればオーバー時などの動作を設定できますが、 通常のテキスト中のハイパーリンクに装飾がしたいのですが、 このようなことはできないのでしょうか。 できるのであれば方法を教えていただけませんでしょうか。 仕様ソフトはadobeのflash cs3です。 よろしくお願いします。

  • FLASHでのアニメーションボタン作成について

    こんばんは。 まだFLASH CS4を触り始めの初心者です。 現在FLASHでサイト製作をしており、ボタンを作成していますが、 マウスダウン時のアニメーションでつまずいています。 マウスアップ時のアニメーションのMC(btn_up)、 マウスオーバー時のアニメーションのMC(btn_over)をそれぞれ作成し、 ボタンインスタンスの「アップ」「オーバー」にそれぞれ割り当てています。 アップ時にはbtn_upのインスタンスが動き、 マウスオーバー時にはbtn_overが動きますが、 マウスダウン時にはボタンが一瞬真っ白になり、 マウスクリックを離すと再びbtn_overが動作します。 ダウン時の指定をしていないので、上記の動きは理解できるのですが、 他のFLASHサイトのアニメーションボタンを触ってみても、 マウスダウン時に画面が白くなることはありません。 再現したい内容として、マウスオーバー時にループして動いている アニメーションをクリックしても、マウスオーバー時のアニメーションが 止まらずに動き続けるというアニメーションにしたいので、 ボタンインスタンスのダウンにマウスオーバー時のインスタンスを 割り当ててみましたが、そうするとマウスダウンした際に アニメーションが最初から再生されてしまいます。 また、ボタンインスタンスでは、「マウスオーバー時にタイムラインの 何番フレームに移動する」という制御ができないようなので、 ActionScriptを使ってボタンと同様の制御をしようと思い、 addEventListenerでそれぞれオーバー、ダウン時の設定をしましたが、 マウスオーバー時にマウスのカーソルがリンクとして認識しません (矢印のカーソルから指のカーソルにならない)。 ターゲットをリンクとして認識させる為のASの記述はあるのでしょうか? 長文となってしまい恐縮です。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • CDに焼くときの音質をよくしたい

    既出のQAかもしれませんが、うまく要領がつかめないので教えてください。 カセットテープの音源をCDに焼くなどするとき、音がかなり劣化しているように聞こえます。 ずばり理屈はわからないのですが、現時点では、すべてWavファイルの形式にしています。 CDに焼く前に、音質を高めるフリーソフトはありますか。

  • Windowsプログラムから音を出すには?

    Windowsでソフトを作っています(言語は問いません)。 簡単な音を出したいのですが、Beep以外の方法を知りません。 最近のPCは皆PCM音源を内蔵していてCD並みの音を出せますが、 そんあ凝った音は必要は無くて、単純に「バイオリンの音でラ♪」とか、 任意の周波数の音色を出せればよいのですが、どういうやり方がありますか? 大昔の8bitパソコンの時代はBASIC命令等で簡単にできましたが、 最近はどうやってやるのでしょう? C,VB,Delphi,WindowAPIなど 一般的なプログラミングの知識は問題ありませんので、音に関して とっかかりになる情報だけでも教えていただければ・・・と思います。 ちなみに、音色はプログラム側で動的に決めたいので、 「丸ごとサンプリングしたWAVファイルを再生するだけ」というのはNGです。 例えば、マウスを動かすと、その移動速度にあわせて音の周波数が 連続的に変化する、というようなプログラムはWAV再生だけでは できないと思いますが、そういったこと(プログラムで音を制御する)が 必要になっており、困っております。どうぞよろしくお願いいたします。