flashで、 サウンドONで始まりON/OFFボタンで制御したい
サウンドが鳴っている状態で始まり、それをON/OFFボタンで制御したいのですが、参考書やネットに載っているものを参考に作ろうとしているのですが、どうしてもできません。
サウンドなしの状態で始まり、それをON/OFFボタンで制御するものは、http://oshiete1.goo.ne.jp/qa2790650.html にある、serial74さんの回答を使わせていただきました。
これを応用すればきっとできるのだと思いますが、参考書を一通り終えた初心者で、いろいろと変えてみたのですがわかりません。
どなたか教えていただけると大変助かります。
以下、“FLASHでサウンドのON/OFFボタンでBGMの再生を制御したい”の質問へのserial74さんの回答です。
引用はじめ--------
may_07さんの求めていらっしゃるレベルが分からないので細かく書いていますが「こんなの知ってるよ」と気を悪くなさらないでくださいね。
▼コレをボタンにしたいムービークリップに書いてみてください。
*************************
onClipEvent(load){
Oto=new Sound(); //サウンド用空オブジェクトOtoを作る
Oto.attachSound("xxxxxx"); //Otoにサウンドを割り当てる
SoundFlag=false; //音の状態フラグをfalse=鳴っていないにしておく
}
onClipEvent(enterFrame){
this.onPress=function(){ //コレをクリックしたとき
if(SoundFlag==true){ //音が鳴っていたら
Oto.stop(); //音を止める
SoundFlag=false; //音の状態フラグを切り替える
}
else{ //音が鳴っていなかったら
Oto.start(0,999); //音をループ再生
SoundFlag=true; //音の状態フラグを切り替える
}
}
}
*************************
●すでに音の読み込みができている状態でしたらonClipEvent(load){}内はムシしてください。
●「Oto」「SoundFlag」は変数なので自分のわかりやすい名前にしてください。
●「xxxxxx」はライブラリを開く→読み込んだサウンドを選択→ライブラリのメニュー→リンケージ→識別子でつけた名前です。
●サウンドをスクリプトで扱うときは、サウンド自体に名前(識別子)をつけて、さらにサウンドオブジェクトにしてあげて(よく「関連づける」と言われます)、サウンド
オブジェクトの設定をいじる、といった流れです。
引用おわり--------
serial74さんの回答のとおりに私が作ると、ボタンを押しても1回目は反応がなく2回目にサウンドONになります。(ブラウザを通した場合)
ブラウザを通さずswfそのものでは、ボタンを押すと1回目でONになります。
きっと基本的なところでつまずいているのだと思いますが、原因がわかりません。こちらについても原因がお分かりの方がいらっしゃったらご教示ください。
どうぞよろしくお願いします。