- ベストアンサー
FLASHで演奏中の表示の仕方
- FLASH8を使用して、演奏中のマークを表示する方法について教えてください。
- 質問者さんは、FLASHの中にバックミュージックを入れたいと思っています。BGMのONとOFFのボタンを付けて、押すと音楽が流れ始めたり停止したりします。しかし、演奏中のグラフィックと連動させる方法がわかりません。
- 質問者さんは、FLASHの初心者であるため、初歩的なことかもしれませんが、演奏中のマークとグラフィックを連動させる方法が知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の場合, 「ボタンクリック」 と 「サウンド」 「ボタンクリック」 と 「変数の値(グラフィック)」 が共に変化するしくみなのですから, 「サウンド」と「グラフィック」を一緒くたに考える必要は全くないと思いますよ。 つまり, ボタン ┬→ サウンド └→ グラフィック の関係で良いと思います。 > [BGM ON]のボタン内のスクリプト > on (release){ > key1 = 1; > my_sound.start(0,999); > } これを書いたボタンと同じ階層(_root なら _root)に, key1 という "変数名" の ダイナミックテキストフィールド を用意すると, その 変数名 key1 のテキストフィールドには 1 が表示されると思います。 ただし,ダイナミックテキストの文字色は背景色以外の色にしてください。 この 変数名 key1 のテキストフィールドを用意しておくと, > [BGM OFF]のボタン内のスクリプト > on (release){ > key1 = 0; > my_sound.stop(); > } のボタンをクリックしたときには, その同じダイナミックテキストに 0 が表示されるはずです。 -------------------------------------- 原理は上で説明したとおりですが, FLASH8 の場合は,普通は本当はそうしません。 ダイナミックテキストに "変数名" を与えるのは, Flash5 までの古い仕様のやりかたで, FLASH8 では,ダイナミックテキストに "変数名" ではなく "インスタンス名" を付けます。 そして,そのダイナミックテキストには,text というプロパティでアクセスします。 したがって, 例えば用意したダイナミックテキストに, key1 という "インスタンス名" を付けます。 そして, on (release){ key1 = 1; ~略~ となっている部分を, on (release){ key1.text = 1; ~略~ のようにします。 これが Flash MX 以降の普通のやりかたです。 ON や OFF を表示させたいのでしたら, on (release){ key1.text = "ON"; ~略~ のようになるということです。
お礼
私の考えに対する回答と推薦する別の方法もご説明下さいましてありがとうございました。 >ボタン ┬→ サウンド └→ グラフィック このご説明がとても良かったでした。 まだ、覚えている途中でtextを用いた手法がよく理解できずにいますが、方法論としてはどういった方向性で望めばいいのかがなんとなく掴めた気がします。
補足
結局、「演奏中」表示のムービークリップ(インスタンス名:playsound_mc)を、 onClipEvent(load){ stop(); } で止めた状態で始めて、演奏ONとOFFそれぞれのボタンには、 _root.playsound_mc.play(); と _root.playsound_mc.stop(); を用いて音楽開始及び停止時にムービークリップに動作を再生と停止を送る事にしてとりあえず動作できました。