- 締切済み
ボタンシンボルをとめる方法
当方初心者で申し訳ないのですが・・・現在ボタン化したシンボルをマウスイベントで、カーソルをのせたら止めるような仕様にしたいと思い試行錯誤していますが今一わからずこちらに投稿させていただきました・・・以前にも、ムービークリップのままで似たことをやろうとしましたが、動いている蝶を羽ばたかせ、なおかつマウスがのったら止まって、ウィンドウが開いて蝶を隠す、というものを目指してなんだかんだでいきづまりました |||orz で、今度は内部構造が比較的簡単になるためボタン化してみて、一応はウィンドウを開くまでは問題ありませんが・・・ やはり動かし、マウスイベントをしこむのがわかりません。 ボタン内部にはスクリプトかけませんし、動かすのは最上層のボタンそのもの。 なのでそこにスクリプトを書き加えようかと思ってもなかなかうまくいきません・・・ 止めるためのスクリプト、書き込む位置を教えていただけたら幸いです;;;
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
作ろうとされているものが今ひとつわかりませんので何とも言えませんが, 「ボタンの中のムービーを操作する」という方向は, なんとなく間違った方向に進まれているような気がします。 ボタンインスタンス (AS2:Buttonクラス のインスタンス ・ AS3:SimpleButtonクラス のインスタンス) は, 何も命令せずにボタンとして使えるところがメリットなのです。 ついでにActionScript的には階層も持たないのでそれを気にしなくて良いところがメリットです。 逆に言えば, ActionScript的には階層を持てない(デメリット)とも言えます。 メインのタイムライン(AS2以下=_root ・ AS3=root) └ボタンインスタンス └ムービークリップインスタンス このような↑階層構造は "Flash上" には作成することができますが, "ActionScript的" には ボタンインスタンス の中や ボタンインスタンス内にあるムービークリップには何も命令できないので 作成しても外から手出しのしようがないということです。 元の(と言っても元がどんなのかわかりませんが) ムービークリップの入れ子の方が むしろずっと良い方向性だと思います。 ========= 作ろうとされているものがわかっていないので, 以下は私が勝手に想像する一般的な方法ですが。。。 ムービークリップの中で 「蝶がはばたく」 だけのアニメーションを作成します。 それとは別ムービークリップの中に 「ウィンドウが開く」 だけのアニメーションを作成します。 その 「蝶」ムービークリップ と 「ウィンドウ」ムービークリップ を1つのムービークリップ内に入れて, その 『「蝶」+「ウィンドウ」』 ムービクリップ をメインのタイムラインで動かします。 『「蝶」+「ウィンドウ」』 ムービクリップ には例えば 「all_mc」 などというインスタンス名を付けておいて, その 「all_mc」 の中の 「蝶」ムービークリップには 例えば 「chyou_mc」, また 「all_mc」 の中の 「ウィンドウ」ムービークリップには 例えば 「window_mc」 というインスタンス名を付けておけば, //_root にある all_mc 内の window_mc 内の再生を停止(AS2) _root.all_mc.window_mc.stop(); または //root にある all_mc 内の window_mc 内の再生を停止(AS3) MovieClip(root).all_mc.window_mc.stop(); などのような命令ができるので, 自由にアニメーションをコントロールできます。 ※ 蝶が2頭いる場合は, 片方を「chyou_mc1」,もう片方を「chyou_mc2」など 別のインスタンス名を付けます。 このムービークリップ路線の方が良いですよ(多分)。
お礼
ありがとうございます。 やはりボタンでいくには無理があったのですね。 結局何が作りたいかといえば、ループしてHPのTOPを飛ぶ蝶を3匹、そのどれにも触ればウィンドウが開いてそのウィンドウ内部の文面ををクリックしたらリンクへ飛ばす、というものが作りたいのです。 しかし私がやった中では蝶がとまってくれず、困っていたしだいです。 入れ子構造をいま一度試して見ます。 とはいえほかの方法なども教えていただければいろいろ試してみたいので質問はしばらく受付中にしておこうと思います、BlurFiltanさんありがとうございました!