• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:forを使ってまとめたいのですが)

for文を使用した40個のボタンの無効化について

このQ&Aのポイント
  • WinXP Flash8を使用しています。
  • 40個のボタンをfor文を使用してまとめて無効化したいですが、うまくいきません。
  • スクリプトには「_root.pB.btn_1.enabled = false;」と書かれていますが、何が問題なのでしょうか?

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

  • ベストアンサー
  • stiffels
  • ベストアンサー率34% (25/72)
回答No.1

配列アクセスでスコープ(.)は使えないと思います。 _root.pB["btn_" + i].enabled = false; でどうですか?

Flash-love
質問者

お礼

ありがとうございました。ばっちりでした。 早々のご返答、感謝いたします。

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

関連するQ&A

  • Flash for文の修正

    こんにちは. 今回は自分で書いたfor文の修正をお願いしたく書き込みました. for(i=1; i<=20; i++){ _root["btn"+i].onRelease = function() { _root.screan.loadMovie("loadmc"+i+".swf"); }} この記述の場合,ボタンを押してロードされるswfは,"loadmc21.swf"を選択しようとします.btn15をクリックしたらloadmc15.swfがロードされるように作りたいのです. そして,loadmcの指定を再度行うことも試してみました. for(i=1; i<=20; i++){ _root["btn"+i].onRelease = function() { for(j=1; j<=20; j++){ _root.screan.loadMovie("loadmc"+j+".swf"); }}} この場合は,loadmc1~20すべてをロードしようとします. iとjの相互関係を示したスクリプトが必要なのでしょうか?

  • ボタンの非表示

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

  • 【ActionScript】この繰り返し記述は一般的でしょうか…?(for文)

    _root.box1._visible = false; _root.box2._visible = false; _root.box3._visible = false; ・・・ という記述を現状、 for(i=1; i<=10; i++){ _root["box" + i ]._visible = false; } というfor文で処理しています。 これ自体問題なく動作するのですが、この _root[ ] を使うあたりが「一般的な方法」なんだろうか?とふと思いました。 もしさらに一般的な方法があるのなら知っておきたいと思います。 お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 代入しない文字の連結方法

    WinXP,Flash8pro,AS2,FP8の環境でオーサリングしています。 質問です。 下記でiを連結する場合、エラーとなってしまいます。 PHPでは.で結合しますが、AS2の場合、どう記載したらよいのでしょうか? []は必要ないようですが。 どうぞ宜しくお願い致します。 cnt=20; for(i=1;i<cnt;i++){ _root.main_mc.photo_player_loading_mc.selected_bar+[i]_mc._visible=true; _root.main_mc.photo_player_loading_mc.buy+[i]_btn._visible=true; _root.main_mc.photo_player_loading_mc.dl+[i]_btn._visible=true; }

    • ベストアンサー
    • Flash
  • モジュールでボタン操作

    VB2005を使っています。 フォームにあるボタン10個のどれかのボタンを4回(1回使うとEnabled = falseになる)押すと全部のボタンが押せなくなる。 このようにしたくて、モジュールに10個のボタン全部を押せなくする関数を作りました。 Public Sub clickNg() Form.btn0.Enabled = False ・ ・ ・       Form.btn9.Enabled = False End Sub これでできていました。 しかし、新しくフォームを作ると何故か動作しなくなってしまいました。ブレークポイントで関数の動きをしらべているんですが、ちゃんと全部の工程を一通り通っています。 いったいどうしたら直るのでしょうか? 回答お願いします<(_ _)>

  • 外部swfファイルの閉じ方

    メインに"stage2というmcを配置し、123.swfを読み込むボタンを配置しました。 ボタンスクリプト: on (release) { _root.construction(); loadMovie("123.swf", "_root.stage"); _root.stage.swapDepths(5); for (i=1; i<=4; i++) { _root["m_"+i]._visible = false; } 開いた外部swfファイルを閉じる設定をしたいのですが、どのようにすればよいでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • for文内での関数の使用がうまくいきません。

    いつもお世話になってます。flash初心者です。 環境:flash 2004 MX, WIN XP ボタンが3つ、それぞれ a0, a1, a2~ a(n個)という名前で存在します。このボタンを押したときに変数の値を代入するためのスクリプトを作りました。 文が長くて、for文を使って、繰り返しの処理を省略したいのですが、for文内で、変数に 配列の値を代入することに失敗してしまいます。 まず、ダイナミックテキストの変数名を myhoge にする。 //各ボタン用のテキストを定義 var hoge = new Array(); hoge[0] = "0番のボタンを押したときのテキスト"; hoge[1] = "1番のボタンを押したときのテキスト"; hoge[2] = "2番のボタンを押したときのテキスト"; ↓ hoge[99] = "99番のボタンを押したときのテキスト"; for (var i:Number = 0; i <= 99; i++) { _root["a"+i].onRelease = function() { _root.myhoge = _root.hoge[i]; } } 上記で、該当ボタンをクリックしたときは、ボタンは反応するのですが、配列のところがうまくいってないみたいです。 原因がわかる方いらっしゃいましたらお願いいたします。

  • アクションスクリプト 

    下記のアクションスクリプトで徐々に目標値へ近づけたいのですが、 うまくいきません。 わかる方よろしくお願いします! btn.onRollOver = function() { clearInterval(myID); for (var i:Number = 1; i<=Max; i++) { if (this.id != i) _root["btn"+i].thumb._y = 0 _root["btn"+i].name_txt._y = 20; _root["btn"+i].frame_mc._y = -2; _root["btn"+i].frame_mc.transform.colorTransform = downColor; } else { this.thumb._y = -5 this.name_txt._y = 15              this.frame_mc._y = -6 } }

    • ベストアンサー
    • Flash
  • アクションスクリプト 外部JPGを読み込み

    下記のアクションスクリプトで外部JPGを読み込ませているのですが、IEだと1枚目のJPGが読み込まれません。 どなたか原因を教えてください! よろしくお願いします。 mcl.addListener(listener); for (var i:Number = 1; i<=Max; i++) { mcl.loadClip("img1/"+i+".jpg",_root["mc"+i } var bmcl:MovieClipLoader = new MovieClipLoader(); for (var i:Number = 1; i<=Max; i++) { /* bmcl.loadClip("img2/"+i+".jpg",_root["btn.thumb"+i]);*/ var btn:MovieClip = _root.attachMovie("btn_mc", "btn"+i, Max+i btn.id = i; bmcl.loadClip("img2/"+i+".jpg",btn.thumb

  • FlashでXMLを読み込んだ際の関数について

    XMLでデータを読み込んで表示させているボタンがあり、 そちらを制御するための関数を作りたいのですがうまくいきません。 btn0.onRelease = function() { _root.sound_mc.songStarter(songfile[0], songname[0]); }; btn1.onRelease = function() { _root.sound_mc.songStarter(songfile[1], songname[1]); }; btn2.onRelease = function() { _root.sound_mc.songStarter(songfile[2], songname[2]); }; とある中身を簡単に書きたくて、 for(var i=0; i<=2; i++) { var btn = this["btn" + i ]; btn.onRelease = function() { _root.sound_mc.songStarter(songfile[i], songname[i]); }; } と記述してみましたが、動きません。 正しい書き方をどなたかご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • Flash