• ベストアンサー

ボタンシンボルを非表示に

ボタンシンボルの中のダイナミックテキストに値が入っていない場合、ボタンを非表示にしたいのですが、それは可能ですか? btn(インスタンス名)._visible = false; と書いてもしっかり表示されてしまい困っています。

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

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.2

ムービークリップシンボルに組み込んだダイナミックテキストで、表示する変数に変数名だけを指定すると、表示されるのはそのムービークリップにある変数の内容です。 しかしボタンシンボルの場合は、ボタンが存在するタイムライン(親タイムライン)にある変数の内容が表示されます。 例えば、ボタンシンボル内にダイナミックテキストを作り、表示する変数を「 btn_name 」にしたとします。 ステージにボタンを置き、インスタンス名が「 btn 」だとして、ムービークリップと同様に考えるなら、ダイナミックテキストに表示する文字列を設定するスクリプトは  _root.btn.btn_name = "テスト"; に、なるような気がします。 ですが、実際にやってみますと、これではダイナミックテキストに何も表示されません。 これを  _root.btn_name = "テスト"; とすると、正常に表示されるようになります。 おそらく、この辺りの事情が原因で「ダイナミックテキストに値が入っていない」という判定ができていないために、ボタンが表示されるのではないかと思います。 上記の例で言うなら、  if( _root.btn_name == "" )  {   _root.btn._visible = false;  }  else  {   _root.btn._visible = true;  } という具合に、変数のパスをボタンの親にあたるタイムラインに変更して判断してみてはいかがでしょうか。

kamay
質問者

お礼

お礼が遅くなってしまいすみませんでした。 ありがとうございました^^

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • UNAHO
  • ベストアンサー率57% (20/35)
回答No.1

おそらくターゲットパスの指定が間違っていると思われます。 アクションスプリクトを記入するところの上に「ターゲットパスを挿入」アイコンがありますので確認してみて下さい。 もしくは同じインスタンス名が複数存在するとか・・・ あるいは「ダイナミックテキストに値が入っていない場合」の判定がきちんとできていないとか・・・

kamay
質問者

お礼

ありがとうございます! そんな便利な機能があったのですね~ さっそく調べてみます^^

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 「ボタンロールオーバー時のインスタンス同士の重なり」による動作について

    「ボタンロールオーバー時のインスタンス同士の重なり」による動作について flashcs4、as3で制作をしています。 配置してあるボタンインスタンスにマウスオーバーしたときに、 ボタンの上に吹き出しが表示されるというものをつくろうとしています。 現在記述しているスクリプトは まず、stageにhukidasiをaddChildして表示リストに追加。visibleをfalseにしておく。 btn1にマウスがロールオーバーしたときにhukidasiのvisibleをtrueにして表示。ロールアウトしたときはvisibleをfalseにして非表示にする。 というものです。 こちらの反応はいちおう実現できたのですが、ロールオーバー時にボタン(btn1)と吹き出し(hukidasi)が重なっている部分にマウスをもっていくと、吹き出しが点滅して消えたり表示されたりを繰り返してしまうのです。 サンプル http://homepage2.nifty.com/meary/testtest.html それを解消させるために、吹き出し(hukidasi)はボタン(btn1)の子としてaddChildして、 btn1.mouseChildren=falseとして吹き出しにボタンの機能を持たせないようにしてみると前述のような反応はなくなりました。 ですが、このように吹き出しをボタンの子とすると、ボタンの領域に吹き出しの大きさも追加されてしまいまして、そのようなことは望んでいないのです。 ボタンの領域をマウスが外れたら吹き出しが消える、というようにしたいのです。 このようなことを実現するにはどういったスクリプトが必要でしょうか。 ご教授お願いいたします。 現在記述しているスクリプト -------------------------------------------- //吹き出しインスタンスを生成 var hukidasi:Hukidasi=new Hukidasi(); hukidasi.x=90; hukidasi.y=80; //吹き出しを表示リストに追加 stage.addChild(hukidasi); hukidasi.visible=false; btn1.addEventListener(MouseEvent.ROLL_OVER,btn1_handleRollOver); btn1.addEventListener(MouseEvent.ROLL_OUT,btn1_handleRollOut); //btn1のロールオーバー、アウト時のメソッド function btn1_handleRollOver(event:MouseEvent){ hukidasi.visible=true; } function btn1_handleRollOut(event:MouseEvent){ hukidasi.visible=false; } --------------------------------------------

    • ベストアンサー
    • Flash
  • ボタンの非表示

    いつもお世話になっております。 OSはWinXPでFlash MXでプログラムしています。 すごく初歩的な質問だと思うのですが、検索できませんでしたので、質問いたします。 フラッシュムービーに幾つかボタンがあり、 A_btnというボタンを押すとB_btnというボタンを非表示にする方法ってありますでしょうか? C_btnと言うボタンを押した時は非表示にしたくありません。 A_btnに下記のようにしてみました。 on (release) { _root.B_btn._visible = false; } な感じでプログラムを作成してみましたが、だめでした。 分かる方がいましたらご協力お願いします。

  • ボタンを押すとテキストフィールドにテキスト表示

    キーボードのボタンシンボルを作り、ボタンを押すと用意してあるテキストフィールドに文字または数字が表示されるようにしたいのですが、どうしたらいいのでしょうか? textというインスタンス名のダイナミックテキストを準備し、ボタンに on (release) { _root.text = "あ"; } と記述しても上手くいきません。 ご伝授の程宜しくお願い致します。

  • ボタンによるシンボルの表示・非表示 as3.0

    下記のスクリプトを3.0にする場合どう変更したら良いですか? on( press )  {   //ボタンが押される度にtrue/falseを切り替える   clip1._visible ^= 1;  }

    • ベストアンサー
    • Flash
  • ボタンによるシンボルの表示・非表示 (FlashMX2004)

    シーン上にボタンシンボルとムービーシンボルが2つずつあります。 ボタン1or2を押すたびに、ムービーシンボル1or2を 表示したり、非表示にしたりしたいのですが、 それぞれにどのようなアクションスクリプトを書けばよいのでしょうか? ボタンで表示する際に、ムービーシンボルが重ね順で上側にくるようにしたいです。

    • ベストアンサー
    • Flash
  • ムービークリップとボタンの表示(長文です

     いつも参考にさせてもらっています。題名がわかり辛くてすいません。 私はFLASH5を使用しています。 ボタンクリックによる表示非表示は、ttp://okweb.jp/kotaeru.php3?q=905694  ttp://okweb.jp/kotaeru.php3?q=1363849を参考にさせてもらいましたがうまくいかなかったため質問させていただきます。 lad01言うムービークリップインスタンスが非表示になったとき、lad02と言うムービークリップインスタンスを表示させるようにしたいので、以下のような手順で試してみました。 lad01をクリックしたときに非表示にさせるために、lad01内にクリックされたらlad01を消すように on (release) { this._visible = false; } と言うボタン(というかヒット領域)を作って、lad01はきえるようになりました。 次にlad02はとりあえず非表示にしておきたいので onClipEvent (load) { _visible = false; } と記述して非表示になりました。 次に、lad01がクリックされたとき同時にlad02を表示させるためにlad01に onClipEvent (mouseDown) { if(!lad02._visible){ lad02._visible = true; } } と記述してみましたがうまくいきませんでした。 試しに、lad01,02と同じレベル(言葉が思いつきません、内包されてない状態です) にボタンを作成し on (press) { lad01._visible = false; lad02._visible = true; } とも記述してみたんですが、これでもだめでした。 どうすれば解決できるでしょうか? 言葉が足りないところは質問してください。できるだけ答えます。

    • ベストアンサー
    • Flash
  • Flash オブジェクトの表示/非表示

    こんにちは。今回はオブジェクトの表示/非表示のことに関して質問させていただきます.使っているものは、Mac/FlashCS3/AS1&2 です. (フレーム名"s1"にて) MC(ムービークリップ)/pre_btn(ボタン)/del_btn(ボタン)/btn(ボタン)というオブジェクトが画面に表示してあります. (アクションフレームに) pre_btn.onRelease = function(){   MC._visible = true; } del_btn.onRelease = function(){   MC._visible = false; } (btnムービークリップアクションに) on(release){   _root.gotoAndPlay("s2") } (フレーム名"s2"にて) btn2(ボタン)のみ画面に表示されています. (btn2ムービークリップアクションに) on(release){   _root.gotoAndPlay("s1") } 以上のACを記述しました.これでMCを表示/非表示させることができ,btnをクリックし"s2"フレームに移動/btn2をクリックし"s1"フレームに移動することもできるようになりました. しかし,"s1"にて非表示にしたMCが,"s2"のフレームに移動し"s1"に戻ってきたとき,表示されている状態に戻ってしまいます. どうしたら,一度非表示にしたMCを,その後フレーム移動したとしても,非表示の状態に保つことができるのでしょうか?? どうか,ヒントだけでもいいので,何か教えていただけると嬉しいです. よろしくお願いします.

  • マクロ ボタンの非表示

    セルのG2に”FALSE”と入力されていた場合、ボタンを非表示にしたいと思っています。 下記のように記述したのですが、ボタンが非表示になってくれません。 間違っていますでしょうか。 If Range("G2").Value = "FALSE" Then ActiveSheet.CommandButton1.Visible = True End If

  • as3でボタンにリンクをはる方法!

    質問ばかりで申し訳ないですが、お世話になります。 flashCS4&Actionscript3を使っているものです。 「ボタンにリンクをはる方法を探しています。 (どうしても 1093のシンタックスエラーになってしまい、困っています。)」 現在作成しているものは、以下のような構造です。 ************************************************************* ステージ ↓ムービークリップ【インスタンス名(menu_mc)】 ________________________________________ ・ボタン【インスタンス名(btn1_btn)】 ・ボタン【インスタンス名(btn2_btn)】 ・ボタン【インスタンス名(btn3_btn)】 ________________________________________ *************************************************** menu_mcの中で、以下のように記述しました。 btn1_btn.addEventListener(MouseEvent.CLICK,gotowebpage1); function gotowebpage1(event : MouseEvent) :void { navigateToURL(new URLRequest("​http://www.yahoo.co.jp"));​ } btn2_btn.addEventListener(MouseEvent.CLICK,gotowebpage2); function gotowebpage2(event : MouseEvent) :void { navigateToURL(new URLRequest("​http://www.yahoo.co.jp"));​ } btn3_btn.addEventListener(MouseEvent.CLICK,gotowebpage3); function gotowebpage3(event : MouseEvent) :void { navigateToURL(new URLRequest("http://www.yahoo.co.jp")); } すると、1093のシンタックスエラーになってしまいます。 うまく動作させる為には、他にどんな作業を行ったらいいのでしょうか、 よろしくお願いします!!!

    • ベストアンサー
    • Flash
  • スピンボタンとテキストボックスの連動

    Excel2000.2003 [UserForm]に [SpinButton1] と[SpinButton2] 及び [TextBox]を縦6 横10の表らしきものを作り パソコン初心者にも使える様、また 入力ミスを防ぐ為に [SpinButton1.2]で必要な箇所[TextBox]の 配置のVisibleをFalse⇔Trueに変え表示するようにしたいのです ---------------------------------------------------------  [TextBox1]     [TextBox2] [SpinButton1]    [SpinButton2] ------------------------------------------- [Text 3][Text 9][Text15][…][…][…][][][][] [Text 4][Text10][Text16][…][…][…][][][][] [Text 5][Text11][Text17][…][…][…][][][][] [Text 6][Text12][Text18][…][…][…][][][][] [Text 7][Text13][Text19][…][…][…][][][][] [Text 8][Text14][Text20][…][…][…][][][][] ---------------------------------------------- [Text 1]は[SpinButton1]の値を表示します(初期値1) [Text 2]は[SpinButton2]の値を表示します(初期値1) [Text 3]は[SpinButton1][SpinButton2]が共に初期値1の為 デフォルトとして表示します。 SpinButton1を増減することにより、例えば SpinButton1="2"の場合 SpinButton2の値を考慮しながら [Text 3][Text 9][Text15][…][…][…][][][][] [Text 4][Text10][Text16][…][…][…][][][][]  VisibleがFalse⇔Trueに変わり  例えば、SpinButton1="2"の場合 SpinButton2を増減すると 列配置の 例えば SpinButton2="1"の場合 SpinButton1の値を考慮しながら [Text 9][Text15][…][…][…][][][][] VisibleがセットでFalse⇔Trueに変わるようにしたいのです。 意味解りますか? どなたか助けてください。