• ベストアンサー

ボタンが正常に動作しない。

noname#35109の回答

noname#35109
noname#35109
回答No.2

#1です。  > ――――――――――――――――――――  > on (release) {  >   this.loadMovie("index.swf");  > }  > ――――――――――――――――――――  > 上記のスクリプトは、ボタンシンボルの時には正常に動作し、 と書かれていますが, もし _root に置いたボタンに,上記スクリプトを書いた場合, this は _root になりますから, ステージ全体に, "index.swf" が読み込まれることになり, そのボタンは当然消えますよ。 ムービークリップに書いた場合も消えると思いますから,「消える」という現象に関してはどちらも変わらないと思います。 > 動きをつけたムービークリップのみ動作しません。 > (ボタンが消えたり、画面上に不具合が生じます) ボタン(ムービークリップ)が消えるようにスクリプトを書いていますから, 消えるのが普通だと思います。 むしろ,消えない方が不具合だと思いますよ。 上のスクリプトの場合, this は,ムービークリップ自身になりますから, ムービークリップ内のタイムラインはすべて "index.swf" によって乗っ取られます。 ムービークリップに描いたボタンの絵は,当然ムービークリップ内のタイムラインのステージ上に描いているはずですから, そのボタンの絵は当然消えて,"index.swf" によって乗っ取られます。 しかし,ボタンシンボルに上記スクリプトを書いた場合とは違い,  this.loadMovie("index.swf"); という,ボタンとしての機能だけは残ります。 タイムラインは全て乗っ取られてしまいますが,ムービークリップに書いたスクリプトは有効のままです。 不具合と言えば, ロードされた,"index.swf" をクリックしたときも,"index.swf" をロードしてしまう。 ということくらいだと思います。 ボタンシンボルの場合も,ムービークリップの場合も, 自分自身に他のムービーをロードするということはしないというのが,普通だと思います。 特にボタンを消したくない場合,自分自身以外に外部にロード用のムービークリップを作って, そのムービークリップにロードするのが普通ではないでしょうか。 ボタンの図柄を変えるために,自分自身にムービーをロードするということであれば, 自分自身にロードするのもあり得るかもしれませんが, その場合も,ムービークリップの "基準点" をボタン図柄の左上の角にしておかないと, ロードされたものの位置がずれます。 「動きをつけたムービークリップのみ動作しません。」 というのはよくわかりません。 ヒット領域を動く範囲全体に大きく作ってあれば, その上で何かが動き回っても,ヒットする領域は変わらないと思いますし… よくわかりません。

yakusokunosora
質問者

補足

補足です。 まず、私の中で「_root」が理解できておりませんでした。 「_root」そのものの意味と役割を知らなかったのですが_rootとはどういったものなのでしょうか。 今回、.swf~.swf間をボタンで繋げる為に上記のスクリプトを試みたわけですが、 上記のものではなくスクリプト自体を替えないと、うまくリンクとして飛んでくれないということでしょうか。 もし、上記のスクリプトから「this.」を取り除いたらスクリプトthis.の対象から外れうまく飛んでくれるということでしょうか。 まだFlashを始めたばかりのため戴いた文全てを理解できず、大変申し訳ない気持ちなのですが わからない箇所を下記に書かせて戴いても宜しいでしょうか。 >もし _root に置いたボタンに,上記スクリプトを書いた場合,  this は _root になりますから,  ステージ全体に, "index.swf" が読み込まれることになり,  そのボタンは当然消えます・・・。 >this は,ムービークリップ自身になりますから,  ムービークリップ内のタイムラインはすべて "index.swf" によって乗っ取られます。  ムービークリップに描いたボタンの絵は,当然ムービークリップ内のタイムラインのステージ上に描いているはずです・・・。 度々、捕捉等でお手数をおかけいたしまして大変申し訳有りません

関連するQ&A

  • Flashでボタンをつくっているのですが、actionscriptをつ

    Flashでボタンをつくっているのですが、actionscriptをつかってボタンをクリックさせたいのですが、アクションパネルのところに「現在の選択範囲にアクションを割り当てることはできません。」と表示されてしまいます。 参考書に附属されているflaをみたところ、Actionscript1.0、2.0となっているのですが、作成しているのはActionscript3.0で作っています。 ====== on (release) { /*↑ボタンが押されて離されたら*/ _parent.gotoAndPlay("about"); /*↑「about」ラベルへ移動*/ } ====== このようなscriptをいれたいのですが、うまくいきません。 ムービークリップでボタンを作るまではできました。その後、何かが抜けているのかして上記のようなエラーがでます。 flash初心者のため、どういう風に書いて質問させていただいたらよいのかわからないのですが、参考flaと見比べたときに「シンボル定義」のなかにあるムービークリップがひとつたりませんでした。(このムービークリップは「navigation」というものですのでそれがありません。) 質問するにはあまりにも情報が少ないかもわかりませんが、何卒ご教授いただけると大変助かります。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • ボタンによるムービークリップ移動

    flashmx2004/actionscript2.0です。 ボタンにrollOverすると、別の場所にあるムービークリップが所定の位置まで移動する、と言う動きをさせたいと思っています。 ムービークリップがMC1としますと、単純にボタンに MC1._x=0; MC1._y=0; と指定したらその位置に移動はしますが、これのように瞬時に移動ではなく、動きがわかる程度のスピードで動くようにしたいのです。 イメージとしましては画像の上にシャッターのように次の画像が来る形にしたいのです。 フレームをあまり使わず、可能であればボタン1個で動作させたいのですが、どうにも手詰まりです。 ご教授戴ければ幸いです。

    • ベストアンサー
    • Flash
  • FlashCS4のActionscript2.0でボタンを押して画像を

    FlashCS4のActionscript2.0でボタンを押して画像をスライド表示させる方法 ウェブサイトのトップページのヘッダー画像に スライドショーをFlashで作りたいと思っています。 動きとしては以下のURLで紹介されているようなもの。 http://www.skuare.net/test/proGlider.html 例えば、3つのボタンを A,B,C とし、 ムービークリップの画像をa,b,cとします。 ボタンBを押した時のbの動きは、 ムービークリップ”c”が表示されているときは、左からスライドして現れ ムービークリップ”a”が表示されているときは、右からスライドして現れ るようにしたいです。 お手数ですが、ご教授よろしくお願いします。

    • ベストアンサー
    • Flash
  • ActionScriptでボタンをクリックしたときの動作をまとめて指定したい

    FlashMX2004で、メニューを作成しています。 ボタンの数が多いことから、いちいち一個ずつのボタンにクリックしたときの動作(getURL)を指定するのが大変なので、一番最初のフレームにActionScriptで指定したいのです。 確か、以前そういうのをやった記憶があるのですが、 とても急いでいるので調べる時間がありません。 複数のボタンが、一番上の階層にあるもの(メインメニュー)と、ムービークリップ内に配置したサブメニューと様々あります。 それぞれの指定の仕方を教えてください。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 浮かび上がったボタンをクリックして特定のURLに飛ばす

    ↓で質問させていただいております。  http://oshiete1.goo.ne.jp/qa2935123.html あるボタンにアクションをつけてあるムービークリップを呼び出します 出てくるそのムービークリップをクリックすると特定のURLに飛ばしたいのですが、今はカーソルがボタンを離れるとムービークリップが終了するように記述されています。 どのようにすれば「カーソルがボタンを離れてもそのムービークリップ上にロールオーバーしているときはそのムービークリックをそのままの状態」にすることができますか? また、URLに飛ばすアクションの書き方も教えていただけますでしょうか? 素人なのに少し欲張りすぎだと思っておりますが何卒ご教授いただけますようお願いいたします!

  • Flash5 「ボタン」シンボルの制御について

    ----- <状況> ------- 今、ステージ上に2つの「ボタン」があります。 一つのボタンを押すと、もう一つのボタンの大きさを150%拡大したい…。 -------------------- 「ボタン」と「ムービークリップ」の場合は、「ムービークリップ」に名前が付けられるので、 「ボタン」にActionScriptを書いて「ムービークリップ」の大きさを変更できるのですが、 これが「ボタン」と「ボタン」の場合だと、どうすればいいのか分かりません。また、「ボタン」を区別するためそれ自身に名前を付けたりできないのでしょうか? この件について、ご存知の方はどうか教えてください! お願いします!

  • 動くボタンでリンク

    FLASH MXです。 マウスポインタがオーバーすると色が変わるボタンをつくりました。 そのボタンをムービークリップとして、動きをつけました。 それをスクリーン上に配置して、リンクをはったのですが、 するとマウスポインタを置いても色がかわらなくなってしまいました。 どうしてなんでしょうか。おしえてください。 前の質問にあった、リンクで、透明ボタンの方法を試しましたが、うまくいきませんでした。

    • ベストアンサー
    • Flash
  • Flash MCのモーショントウィーン

    Flash CS5 ActionScript 3.0にて制作しています。 ムービークリップに動きをつけて色を変更するスクリプトを書いています。 ・ボタン1を押すとムービークリップの色が変わる ・ボタン2を押すと10フレーム目に飛んでモーショントウィーン それぞれ機能は正常に動くのですが、ボタン1を押した後にボタン2を押すとモーショントウィーンが動きません。 ボタン2を押した後にボタン1を押す場合は動きます。 ムービークリップのインスタンス名はtest として下記のようなスクリプトを書いています。 どなたか、お力をお貸し下さい。 よろしくお願い致します。 btn.addEventListener(MouseEvent.CLICK, black); black(event:MouseEvent):void { var color = new flash.geom.ColorTransform(0, 0, 0, 1); test.transform.colorTransform = color; } btn2.addEventListener(MouseEvent.CLICK, btn2); function btn2(event:MouseEvent):void{ gotoAndPlay("10"); }

    • ベストアンサー
    • Flash
  • ボタンを押すとMCが大きくなるFlash

    AdobeCS4、ActionScript2.0で、ボタンを押すとMCが大きくなるFlashを作ろうとしているのですが、 上手く動かないので質問させていただきます。 画面上に、ボタンと四角のムービークリップがあり、 ムービークリップの上にダイナミックテキスト(変数名point)でボタンを押した回数を表示させて、 ボタンを押すとMCが大きくなるようにしたいのです。 ボタンを押して回数を数えさせるのは、 on (press) { point = +1; } で出来るようになりました。 MCを大きくするのも、過去の質問を参考にしたら出来るようになったのですが、 この二つを合わせると動かなくなってしまいました。 また、過去の質問http://okwave.jp/qa/q4271772.html これだと、ずっと大きくなってしまうので、ある程度大きくなったら、 大きくなるのを止めたいのですが、それも上手くいきませんでした。 どうしたらいいのか、教えていただけますでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • コードからボタンを増やす

    お世話になります よろしくお願いします。 WinXP SP3 Flash8 actionscript 2.0を使用しています cnt.txtに「cnt=6」と書いていて この6という数字を取得して ムービークリップを6個作りたいのですが こういうことは可能なのでしょうか? インスタンス名は連番でできればと思うのですが・・・ Actinscriptのコードからムービークリップなどを増やすことはできないのでしょうか? 以上よろしくお願いします

    • ベストアンサー
    • Flash