• ベストアンサー

ムービークリップの中にボタンを配置。

ムービークリップの中にはボタンは配置できないようになっているんでしょうか? あるシーンに【BUTTON1】というボタンが配置されており、そのボタンを押すと【CRIP1】というムービークリップを再生させて表示させます。その表示されたムービークリップの中へ、さらに【BUTTON2】というボタンを配置しているのですが、このボタンがうまく機能しません。 ちなみに、ボタンは透明ボタンも試してみましたが、こちらもうまく機能しませんでした。 ボタンをうまく機能させる方法をご存知の方がいらっしゃたら、お手数ですがご指南願います。

noname#140572
noname#140572
  • Flash
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

#1です。 そういうことですか。 それは,ムービークリップに対して, 「onRollOutでどうしたこうした」というスクリプトを書いているのでそうなります。 ボタンの方がMCの中ですから。 外の皮であるMCの方が優先されます。 私だったら,その状態からなるべく修正をすくなくするには以下のようにするでしょう。 menu_01にもmenu_02にも, 最初から最後のフレームまで存在するような そのサイズと同じ透明なMCを各ムービークリップの最下レイヤーに作って インスタンス名を付けて(例えば back というインスタンス名), そのムービークリップに対して -------------------------------- menu_01.back.onRollOut = function() { menu_01.gotoAndStop(1); }; menu_02.back.onRollOut = function() { menu_02.gotoAndStop(1); }; ------------------------------- と書き, menu_01やmenu_02の中にあるボタンには ------------------------------ on (rollOver) { this.gotoAndStop(最終フレーム); } ----------------------------- と付け足します。 本当は,最初から作るなら多分全然違う作り方をしますが, 今作られている段階からだと上のようにするでしょう。 >> ボックスの上にカーソルがあると、矢印に変わるということです。 >> これはいったいどういう理由なのでしょうか? すみませんが,どういう現象なのかよくわからないのでわかりません。 こちらで見たところ,MCの上ではずっと指マークです。 そのほかの部分では矢印です。

noname#140572
質問者

お礼

2度手間にもかかわらず、わかりやすいタグまで付いた返答を頂き、まことに感謝しております。 さっそくsassakunさんにご指摘いただいた形でFlashを手直ししてみました。最下レイヤーに透明のインスタンスを置き、ムービークリップに対してScriptを打ってみたところ、わたしが作ったデータと同じ現象が起きてしまい、うまく中にあるボタンが動作しませんでした。 なので、sassakunさんのご指南からヒントを得て、インスタンスを透明ボタンに変え、中にあるボタンのレイヤーの最下層に置き、sassakunさんが記述して下さったScriptを記述したら、見事問題は解決されて、わたしが望んだ通りの動作をしてくれるようになりました。 うまく動作しなかったのは、わたしがsassakunさんのご指摘を完全に解釈せずに、どこか間違った作り方をしているかもしれません。いたらずずくしで申し訳ありません; >>すみませんが,どういう現象なのかよくわからないのでわかりません。 >>こちらで見たところ,MCの上ではずっと指マークです。 >>そのほかの部分では矢印です。 わたしの表現に誤りがありました。申し訳ないです; sassakunさんがおっしゃる通り、わたしのほうでも指マークになっています。 矢印では普段のカーソルと変わりないですよね; この現象はsassakunさんがはじめに… >>外の側であるMCが優先されます。 ということなのでしょうか? 重ね重ねの質問で申し訳ありませんが、このことに関してと… >>本当は,最初から作るなら多分全然違う作り方をしますが, 今作られている段階からだと上のようにするでしょう。 というのは、どういった作り方なのでしょうか? タグを打って下さいとはさすがに言いません; その作り方のイメージをわかせるような簡単な文(短くて結構です)で結構ですので教えていただけたら幸いです。 お手数ばかりとらしてしまい申し訳ありません。 これで最後の質問にさせていただきます。よろしくお願いします。

noname#140572
質問者

補足

お忙しいようなので、投稿を締め切らせていただきます。 丁寧な回答をありがとうございました。あらためて感謝いたします。

その他の回答 (1)

noname#35109
noname#35109
回答No.1

ムービークリップの中にボタンは配置できますよ。 それをしないとまともなムービーはできません。 ただしボタンの中にボタンは入れられません。 おそらくパスの問題で動かないのだと思います。 あるシーンに【BUTTON1】には, --------------- on (release) {   CRIP1.play(); } --------------- みたいなスクリプトを書かれて【CRIP1】というムービークリップを再生させているのでしょうか? それで,【BUTTON2】も同様に, --------------- on (release) {   CRIP2.play(); } --------------- みたいなスクリプトを書いたけど,メインアニメーションのタイムラインの【CRIP2】が動かないのではないでしょうか? メインアニメーションのタイムラインに【CRIP2】を置いた場合は,【CRIP1】から見るとパスがかわります。 もし上記のような条件の場合, --------------- on (release) {   _root.CRIP2.play(); } --------------- または --------------- on (release) {   _parent.CRIP2.play(); } --------------- で動くようになります。 ボタンの位置(階層)とボタンから命令する対象物との位置(階層)関係がとても大切です。 _root など,ターゲットパスを探すには,アクションパネルの上の縁にある,○ に + の入ったボタン,「ターゲットパスを挿入」ボタンをクリックして,ターゲットを探してみてください。 ○ に + の入ったボタンはおそらくライフルの照準のマークでしょう。それでターゲットを狙い打つのです。 そうすると, _root.CRIP2 までが,自動的に記入されるので,その後に .play(); とか gotoAndPlay(); とか動作させるスクリプトを入れればいいわけです。 その他が原因かもしれませんが, どういうものを作られてどういう状態で動かないのかがわからないので,正確には答えられません。 パスが原因で動かないことが多いです。動かないときはまずパスを確認してみてください。↓

参考URL:
http://f-site.org/articles/2002/01/26153958.html
noname#140572
質問者

補足

まずは回答ありがとうございます。加えて、わたしの状況説明があまりにも不適切で、曖昧であったことをお詫びします。改めて状況を的確に記述させていただきます。2度手間で申し訳ありません。 パスは常に【ターゲットパス挿入】を使っているため、ミスはないかと思われます。原因はどうやらScriptにあるみたいなのですが… 各ボタン1、2を押すと出てくるボックス(ムービークリップ)はそれぞれ【menu_01、02】と名づけてあります。 そして、Scriptが下記になります。 タイムラインに書かれたScript ------------------------------ menu_01.onRollOut = function () { menu_01.gotoAndStop(1); }; menu_02.onRollOut = function () { menu_02.gotoAndStop(1); }; ------------------------------ ボタン1に書かれたScript ------------------------------ on (release) { this.menu_01.play(); this.menu_02.gotoAndStop(1); } ------------------------------ ボタン2に書かれたScript ------------------------------ on (release) { this.menu_02.play(); menu_01.gotoAndStop(1); } ------------------------------ これで以上です。タイムラインに書かれたScriptを消すと、問題なくボタン3は動きます。ですが、ボックスからカーソルが離れた時に、ボックスの表示が消えなくなってしまいます。 あと、ずっと気になっていることとして、タイムラインにScriptを書いた際にボックスの上にカーソルがあると、矢印に変わるということです。これはいったいどういう理由なのでしょうか? お手数ですが、お時間があればもう一度ご指南のほど、よろしくお願いします。

関連するQ&A

  • ムービークリップに配置したボタンを作動させるには?

    Flash初心者のものです。 現在、FLASHで簡単な地図を作成しているのですが スクリプトを記述し、オンマウスによるスライド動作を表現したムービークリップ(インスタンス名:mc_sride)の中にボタン(インスタンス名:btn_a)を配置して、そこをクリックすると 地図の座標が移動するというような動きを実現したいのですが、 なかなかうまくいきません。 メインのムービーにボタンだけを配置した場合はうまく作動するのですが、 それを前述したムービークリップの中に配置すると そのボタンがまったく作動しないのです。 マウスが乗っても反応がありません。 相対パスはきちんと記述しているのですが・・・ どうすればうまく作動するようになるのでしょうか? ちなみにmc_srideのスライド動作のスクリプトは onClipEvent (load) { var div:Number = 0.5; var move_to:Number =730 this._x = 730; } onClipEvent (enterFrame) { this._x += (move_to-this._x)*div; } on (rollOver) { this.move_to -=100 } on (rollOut) { this.move_to +=100 } になります。 ボタンをうまく機能させる方法をご存知の方がもしいらっしゃたら、お手数ですがご指南願います。

    • ベストアンサー
    • Flash
  • ムービークリップに配置されているボタン

    Thinking Flash というテキストのInterface 04のサムネールプレゼンテーションを自分のサイトに使いたいと移植?していたのですが、ムービークリップシンボル内にボタンシンボルが配置されていて、その部分の説明は省かれていて、どのようにすればムービーの中にボタンをしこめるのかわからず迷路に入ってしまいました。きっとすごく初歩的なことなんだと思うのですが、まったく検討がつきません。宜しくご教授頂けると助かります。宜しくお願い致します。

  • ムービークリップ内に配置した別のムービークリップの再生

    こんばんは。 ムービークリップ内に配置した別のムービークリップを ボタンを押したときに常に1フレーム目から再生するように させたいのですが。一度読み込んでしまったら 最初に戻すことができません。 どうしたらいいのでしょうか? on(release){ French.gotoAndPlay(1); } とかしてみたけど駄目でした。 初心者で申し訳ありませんがよろしくお願いします。

    • ベストアンサー
    • Flash
  • ムービークリップ内のムービークリップ制御について

    誠に不勉強の段お許しください。 Flashでサイトを製作しているのですが、どうしても分からず投稿させていただきました。 仮に -rootにボタンとAムービークリップ配置しました。 また、Aムービークリップ内の10フレー目にBムービークリップを配置し、Bムービークリップ内にボタンを配置しています。 _rootのボタンからAムービークリップを制御して10フレーム目のBムービークリップを表示はできるのですが、-root上でAムービークリップのBムービークリップ内のボタンでBムービークリップを制御するのにはどうすればよろしいのでしょうか。 なにとぞご教授いただけましたら幸に存じます。

  • ムービークリップ内のボタン

    フラッシュ初心者です。 アクションスクリプトがうまく動かず困っています。 シーン1にムービークリップ1(インスタンス名:mc1)とムービークリップ2(インスタンス名:mc2)が置いてあります。 mc2の中にはボタンAを配置してあり、ボタンAをクリックすると、mc1のフレームラベル(B)に飛ぶような制御をしたいです。 ボタンAに記述してあるスクリプトは以下です。 on (release) { this._parent.mc1.gotoAndplay("B"); } しかしクリックしても全く動きません。 絶対パスで指定してもダメでした。 ちなみに、ためしに、mc1ではなく、シーン1上のフレームラベルに 飛ばすように記述したら普通に動きました。。 何か記述間違いがあるのでしょうか? 分かる方がいましたら教えてください。 お願いします。

  • ボタンの中にムービー、その中にマスク付きイラスト配置・・

    こんばんわ。質問です。■のボタンをいくつか作り、その中に、ムービークリップを作り、更にその中に、イラストを配置し、マスクをかけたのですが・・。一緒に作ったボタン、すべてのイラストが、同じになってしまいます。なんと説明していいかわからないのですが・・、それぞれのボタンに、別々のイラストを配置したいのに、なぜか、みんな同じようにすりかわってしまいます・・。超初心者の為、質問自体、言葉がたりないと思いますが、誰かわかる方、よろしくお願いします・・・

  • ムービークリップの自動切り替え方法

    久しぶりにFLASHを触った初心者です。 シーン1の1フレにムービークリップを配置し、その1フレのムービー(10秒程度)が終わったらシーン2の2フレに配置したムービークリップが自動再生されるようなアクションスクリプトを考えています。例えばムービークリップの最後にgotoAndPlay(); など入れたりと試してみましたがうまくいかず困っています。 どなたか良い方法が無いか教えてください。 ※現在AS2.0を使って作成しています。

  • ムービークリップのボタンの無効化について

    お世話になっております。 actionscript3でFLASHサイトを製作しております。 マウスオーバー、マウスアウト、マウスクリックのイベント機能を付与したムービークリップ型のボタンがあり、ボタンモードを有効にしています。 button.buttonMode = true; マウスオーバーの際はムービークリップの指定のフレームからアニメーション処理を行っています。 button.addEventListener(MouseEvent.MOUSE_OVER, btnOver); function btnOver(event:MouseEvent):void { button.gotoAndPlay(2); } このボタンを、あるイベントが実行された時にボタンとしての機能をなくし、尚且つマウスオーバー、マウスアウトのアニメーション処理も無効化したいと思い、以下の処理を行いました。 ボタンモードは無効になりましたが、マウスオーバー、マウスアウト、クリック処理は無効にならず、動作してしまいます。 button.buttonMode = false; button.mouseEnabled = false; button.enabled = false; 上記の方法とは別にイベント処理を削除しようと思い、removeEventListener処理を行いましたが、「TypeError: Error #2007: パラメータ listener は null 以外でなければなりません。」というエラーが表示されてしまいました。 指定の仕方が間違っているのだと思いますが、何方かご教授いただけないでしょうか? また、上記の方法以外で無効化する手段があればご教授いただければと思います。 宜しくお願いいたします。

  • Flash フレームを指定してムービークリップ再生

    ActionScript超初心者です。 よろしくお願いします。 ステージ上にボタン「A」「B」「C」を配置、 ボタン脇のスペースにムービークリップを配置、各ボタンで切り替え再生させたいと思っています。 2フレーム目に簡単なアニメーションのムービークリップ「animA」を、 3フレーム目に同様の「animB」4フレーム目に「animC」を配置し、 各ボタンon (release)で各ムービークリップの再生をしたいのですが うまくいきません。 どこにどのようなスクリプトを書けば良いか教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 長いムービーを分けたい(初心者です)

    特にボタンも何もない、写真が延々動くだけのムービーを作っています。 途中で、何箇所か区切れる場面があり、そこで分割し、4つくらいのムービークリップを作ったのですが、それを一つのシーンに置く方法がわかりません。 シーン1に4つ、キーフレームを配置し、各キーフレームにムービークリップを入れているのですが、ただの4コマ再生で終わってしまいます。 一つのキーフレームに入れてあるムービークリップが全部再生し終わったら、次のキーフレームへの内容・・と自動で移動するにはどのようなアクションを入れればいいのでしょうか?よろしくお願いいたします。

    • ベストアンサー
    • Flash

専門家に質問してみよう