• ベストアンサー

【FLASH】ボタンアクションが重なっている場合の処理

http://www.geocities.co.jp/mizuterubose/hp/sample_fla.htm ↑のように、3つに区切られたスペースをそれぞれマウスオーバーすると、 その色が拡大するようにしたいのですが、 これをひとつにすると、一番上にあるボタンが有効になり、うまく表示できません。 オレンジ部分にマウスオーバーするとオレンジが拡大、 グリーン部分にマウスオーバーするとグリーンが拡大、 ブルー部分にマウスオーバーするとブルーが拡大するようにしたいのですが、 何か方法はないでしょうか? よろしくお願い致します。

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

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

コンピューター [家庭向け]  > ソフトウェア   > その他(ソフトウェア)  カテゴリへのご質問のですが、 題名の 【FLASH】 と書かれているところから考えて、 Flash のご質問だと思いますがそれでよろしいでしょうか。 また、 Flash 作成ソフトも世の中には数多く出回っていますが、 Adobe(Macromedia)のFlash作成ソフトで、 SWFファイルを作成(パブリッシュ)しようとされていらっしゃると解釈してよろしいでしょうか。 以上の2点を前提として回答します。 ///////////////////////////////////////////////////////////// 単純に、 フレーム1 に三色(3つ)のボタンを用意しておいて、 フレーム2 にオレンジが拡大した状態のボタン フレーム3 にグリーンが拡大した状態のボタン フレーム4 にブルーが拡大した状態のボタン をそれぞれ用意しておき、 フレーム1 には stop(); を書いてフレームの動きを止めておき↓、              ↓stop();  レイヤー2 筆・・・|○     []| (←スクリプトレイヤー)  レイヤー1 筆・・・|●|●|●|●| (←ボタン用レイヤー)              ↑ ↑ ↑ ↑              三 橙 緑 青              色 色 色 色              小 大 大 大 フレーム1 の オレンジボタン には、 on (rollOver) { gotoAndStop(2); } フレーム1 の グリーンボタン には、 on (rollOver) { gotoAndStop(3); } フレーム1 の ブルーボタン には、 on (rollOver) { gotoAndStop(4); } そして、 フレーム2 の オレンジボタン には、 on (rollOut) { gotoAndStop(1); } フレーム3 の グリーンボタン にも、 on (rollOut) { gotoAndStop(1); } フレーム4 の ブルーボタン にも、 on (rollOut) { gotoAndStop(1); } と書けば良いのではないでしょうか。 結局最終的にはどのようにしたいのかがわかりませんから、 この方法が良いとは言い切れませんが、一応はできると思います。 上の方法だと、 作り足して行く中で、何か支障が起こったとしても、 on (press, release, releaseOutside, rollOver, rollOut) {} のうち、どれかの onイベントハンドラを使って、 gotoAndStop(?); を実行すれば、 工夫次第で、たいていは切り抜けられると思います。 -*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+- その他には、  「ボタンをムービークリップの中に入れて、  MobieClip.swapDepths で,  ムービークリップごと深度を変える。」 という方法もありますが、作りかえる部分も多くなりますし、面倒だと思います。 一応 swapDepths の参考まで↓。 「Flashゲーム講座&ASサンプル集【深度について】」 http://hakuhin.hp.infoseek.co.jp/main/as/z.html -*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+- なお、 上に書いた2つの方法のうち、どちらを使ったとしても、 ボタン(ボタンシンボルのインスタンス)の中にボタンは配置できません。 配置して表示されても、そのボタンはボタンとしての機能はしません。 その点は注意してください。 しかし、ボタンの上(上レイヤーなど)にボタンを重ねて置くことはできます。 その場合、上のボタンが優先されます。 ///////////////////////////////////////////////////////////// 以上は、 Adobe(Macromedia)の Flash オーサリングツールでも Version 5.0以降、 つまり,Flash 5 以降(Flash5、MX、MX2004、8)で作成可能な方法やスクリプトです。 他のソフトや、Adobe(Macromedia)のFlashでも他のバージョンでは話が変わります。 その場合、私はよくわかりませんが、ソフトやバージョンを補足してください。

minto55
質問者

お礼

回答ありがとうございます。 教えていただいた方法を応用して、 やりたいことができました。 深度についても今後の為に 勉強したいと思います。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう