• ベストアンサー

コードからボタンを増やす

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

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

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

全体的によくわかりませんが, > cnt.txtに「cnt=6」と書いていて とは, 外部テキストファイルのファイル名が「cnt.txt」であって, そのテキストファイルの中に 「cnt=6」というデータが記入されているということでしょうか? > Actinscriptのコードからムービークリップなどを増やす これもよくわかりません。 増やすとはどう増やすのでしょうか? ・ステージ上にある,例えば「A」というムービークリップと同じものを  cnt の個数だけ複製して増やす。  →結果:cnt=6の時 「A'」「A''」「A'''」「A''''」「A'''''」「A''''''」 ができる ・ステージ上にある,例えば「A」「B」「C」~「Z」というムービークリップを  cnt の個数だけ複製して増やす。  →結果:cnt=6の時 「A'」「B'」「C'」「D''」「E'」「F'」 ができる ・ライブラリにある,例えば「A」というムービークリップと同じものを  cnt の個数だけ複製して増やす。  →結果:cnt=6の時「A'」「A''」「A'''」「A''''」「A'''''」「A''''''」 ができる ・ライブラリにある,例えば「A」「B」「C」~「Z」というムービークリップを  cnt の個数だけ複製して増やす。  →結果:cnt=6の時 「A'」「B'」「C'」「D''」「E'」「F'」 ができる ・その他(考えようによってはたくさんの場合がある) また, どこにどのように増やしたいのかもわかりません。 とにかく具体的でないので回答がしにくいです。 また, 回答するにしても勝手に具体的条件を決めて回答せざるを得なくなります。 よくわかりませんが,上に書いた3番目, ・ライブラリにある,例えば「A」というムービークリップと同じものを  cnt の個数だけ複製して増やす。  →結果:cnt=6の時「A'」「A''」「A'''」「A''''」「A'''''」「A''''''」 ができる という場合は,次のようにすれば良いと思います。 ◎ファイル構造 (勝手に決めた具体的条件)  任意のフォルダ    ├○○.html (○○.swf を表示)    ├○○.swf (本題のFlash)    └cnt.txt (データ内容は cnt=6) ◎ ムービークリップ「A」の作成 (勝手に決めた具体的例) ステージ上に何か絵を描いて その絵を基準点を左上としてムービークリップに変換します。 ステージ上からそのムービークリップを消します。 ライブラリにはあると思うので, ライブラリでそのムービークリップを選択し, 「右クリック」→「リンケージ」などで「リンケージプロパティ」のパネルを表示させ,  □ ActionScriptに書き出し にチェックを入れて「識別子」の欄で「A」という識別子を付けます(↓図)。 ◎ ActionScript (勝手に作った具体的例) _root の フレーム1 に次のように書きます。 ------------------------------------------ // LoadVarsクラスのインスタンス 「cntVars」 を作成 var cntVars:LoadVars = new LoadVars(); // 外部テキストロード完了時に実行する関数を定義 cntVars.onLoad = function(Seikou:Boolean):Void { // ロードに成功すれば if (Seikou) { // 変数 i を 1~cnt までカウントアップしながらループ for (var i:Number = 1; i<=Number(cntVars.cnt); i++) { // _root にムービークリップ識別子「A」を // 「A○」 というインスタンス名で 深度○ に呼びだす _root.attachMovie("A", "A"+i, i); // 「A○」 を適当に横並びで並べる _root["A"+i]._x = 50*i; _root["A"+i]._y = 10; } } }; // 「cntVars」 に外部テキスト「cnt.txt」をロード cntVars.load("cnt.txt"); ------------------------------------------ これでパブリッシュすれば 「A」という識別子を付けたムービークリップがステージ上に 6 個並びます。 外部テキストファイル「cnt.txt」内の「cnt=6」を 例えば 「cnt=8」 に書き替えて保存しなおせば 「A」という識別子を付けたムービークリップがステージ上に 8 個並びます。 = = = = = = = = = = = = = = = = = = 長くなりましたが, 結局上で書いた内容のポイントは 『LoadVars』 と 『attachMovie』 です。 これらの用語で Googleなどで検索すると もっと詳細な説明や色々なバリエーションで参考になるサイトが見つかると思います。 あと, その 『LoadVars』 の中で 『for文』 と 『配列アクセス演算子』 を使っています。 こちらもわからなければ検索してみてください。 なお,上に書きました, ・ステージ上にある,例えば「A」というムービークリップと同じものを  cnt の個数だけ複製して増やす。  →結果:cnt=6の時 「A'」「A''」「A'''」「A''''」「A'''''」「A''''''」 ができる この場合は, 『attachMovie』 を使った部分が 『duplicateMovieClip』 を使うように変わるだけで 他はほとんど同じような感じでできると思います(リンケージ設定は不要)。

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

関連するQ&A

  • HTMLレンダリングについて

    お世話になります。FLASH8の質問です。 外部テキストをloadVariablesでムービークリップの中にロードする際に、「HTMLレンダリング」をonにして<font color="#cc0000">したいのですがうまくいきません。 ムービークリップは二つ(インスタンス名:「title_mc」「honbun_mc」)あり、それぞれがダイナミックテキストボックスを持ち、インスタンス名を「title_txt」「honbun_txt」としています。 テキストファイルは"text.txt"で、 内容は title=・・・ &honbun=・・・<font color="#cc0000">・・・</font>・・・ シーン1の1フレーム目に this.loadVariables("text.txt"); this.onData = function() { this.title_mc.title_txt.text = title; this.honbun_mc.honbun_txt.text = honbun; }; プロパティパネルの変数ボックスには何も記入していません。 この方法で出来ると思うのですが・・・うまくいきません。 HTMLレンダリングはムービークリップ内では効かないのでしょうか?それとも何かコツがありますか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • AS3.0孫連番MCの処理

    Actionscript3.0超初心者です。 トップのフレームにaaaと言うムービークリップがあり、その中にb1,b2,b3・・・・b30と言う連番名ムービークリップがあるとき。 トップフレームから連番ムービークリップをそれぞれ2フレームに移動し停止させたい場合。 b1だけなら MovieClip(aaa.getChildByName("b1")).gotoAndStop(2); で動きました。 この、"b1"部分を for文を使って操作するコードが分かりません。  this["b"+i]のような便利な方法はありますか? どなたか教えて頂けると助かります。 お願いします。

    • ベストアンサー
    • Flash
  • _alphaで消えません。。。。

    質問です。(FLASH8です) メインのタイムラインのムービークリップword_mcの中にactionscript、this.loadVariables("food1.txt");で 同じタイムラインのダイナミックテキストに呼び出しています。 メインのタイムラインにあるムービークリップword_mcに onClipEvent(enterFrame){ this._aplha=0; } と記述したのですが中の文字が消えません。 どなたかよろしければ教えてください。

    • ベストアンサー
    • Flash
  • ムービークリップで作成したボタンでCGIを表示させたいのですが・・・

    お世話になっております。 FLASH MX , WIN XP を使用しています。 FLASHで作られたお問い合わせフォームを編集しています。 ムービークリップインスタンスでできた「送信ボタン」にgetURLで KENTWEBのCGI「postmail」を読み込んで、メールを送信できるように したいと考えています。 ボタンインスタンスにCGIを読み込んだ時は、正常に変数を読み込み 入力内容をメール送信できるのですが、ムービークリップ インスタンスにCGIを読み込むと、変数を読み込めず「不正な処理」 となりエラーになってしまいます。 ムービークリップインスタンスでできたボタンでcgiを読み込む事は できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Flash
  • 関数にカウント変数を随時代入したいのですが・・

    インスタンス名「typ1」から「typ17」までの連番のムービークリップのボタンがステージに配置されている状態でフレームアクション for (i = 1; i < 18; i++) { this["typ" + i].onRelease = function () { trace(i); xChangeSelType (i); }; } を行い、プレビューでボタンを押すときちんと動作しませんでした。 ためしにtraceアクションで何が代入されているか見ると一律「18」が代入されていました。 typ1のムービークリップをクリックしたときは xChangeSelType(1); typ9のムービークリップをクリックしたときは xChangeSelTyoe(9); を動作させたいのですが↑のコードをどう書き換えればいいでしょうか? ボタンが多いのでできればスクリプトでなんとかしたいのですが・・。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ボタンが正常に動作しない。

    いつもお世話になっております。 Actionscriptで動きを付けたムービークリップをボタンとして扱いたいのですが、クリックすると、リンク先へ飛ばなかったり、押したボタンが画面上から消えるなどの不具合が生じます。 どのようにしたら、正常にボタンとして機能してくれるのでしょうか? チェックポイントなどありましたら、ご教授ください。よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • FlashのLoadingについて。

    FLASH8でローディング画面を作ろうと奮闘しているのですが、どうもうまく行きません。 http://hakuhin.hp.infoseek.co.jp/main/as/load.html#LOAD_01 を参考にしているのですが、どうすればうまく動くのでしょうか? ローディング画面終了後、少し大きめなFlashを読み込ませたいのですが、まったく動きません。さらに **エラー** シーン = シーン 1, レイヤー = 背景, フレーム = 1 :行 1:クリップイベントはムービークリップインスタンスでのみ使用可能です。 onClipEvent (enterFrame) { ActionScript エラー数 :1 報告済みエラー :1 と言うエラーが出てしまし、どうもうまく行きません。どうすれば良いのでしょうか?ご教受願います。

  • thisをインスタンス名に変えたらムービーが動かない

    Flash8です。タイムライン上に、 ボタン(インスタンス名 b1_btn) と ムービークリップ(インスタンス名 test_mc) を配置しました。 次に、このボタンインスタンスに以下のイベントハンドラを記述しました。 ----------------- on (press) { this.stop(); } ----------------- 実行すると、ボタンを押せばムービーが停止します。 で次に、上記の記述を以下のように変えます。 ----------------- on (press) { test_mc.stop(); } ----------------- 実行すると、ボタンを押してもムービーが停止しません。 なにがイケないのでしょうか?

  • AS3リンケージ設定したムービークリップの中で、フレーム移動がしたいです。

    初心者です。 AS3で、 リンケージ設定したムービークリップを addChildで呼び出し、 呼び出したムービークリップの中の、 指定したフレームに移動するにはどうしたら宜しいでしょうか。 ステージに配置した場合、インスタンス名を付けて インスタンス名.gotoAndPlay("フレームラベル"); で移動しますが、 リンケージ設定したムービークリップの場合はインスタンス名の代わりに リンケージ名で呼び出せないのですか。

    • ベストアンサー
    • Flash
  • 日付と時刻の取得、ムービークリップの読み込みについて

    あるFLASHファイル(例えば、hizuketozikoku.swf)を用意します。(?)の部分にどのような記述をすれば、(?)のフレームアクションによってローカルマシンの常に新しい日付と時刻(*月*日*曜日*時*分*秒)を取得し、また取得した日付と時刻に対応するライブラリのムービークリップを指定する場所に読み込ませる(例えば、1月1日日曜日1時1分1秒の場合は、gatuに1gatu、nitiに1niti、youbiにnitiyoubi、ziに1zi、hunに1hun、byouに1byouを読み込ませる)ことができますか。 使用ソフトは、FLASHMXです。よろしくお願いします。 ※ hizuketozikoku.swf  シーン1   レイヤー7 フレーム1 インスタンス名:byou   レイヤー6 フレーム1 インスタンス名:hun   レイヤー5 フレーム1 インスタンス名:zi   レイヤー4 フレーム1 インスタンス名:youbi   レイヤー3 フレーム1 インスタンス名:niti   レイヤー2 フレーム1 インスタンス名:gatu   レイヤー1 フレーム1 フレームアクション(?)  ライブラリ   レイヤー1からレイヤー7のムービークリップ(例えば、シンボル1からシンボル7)   1月から12月のムービークリップ(例えば、1gatuから12gatu)   1日から31日のムービークリップ(例えば、1nitiから31niti)   日曜日から月曜日のムービークリップ(例えば、nitiyoubiからgetuyoubi)   1時から24時のムービークリップ(例えば、1ziから24zi)   1分から60分のムービークリップ(例えば、1hunから60hun)   1秒から60秒のムービークリップ(例えば、1byouから60byou)

    • ベストアンサー
    • Flash
両面印刷時横線が入る
このQ&Aのポイント
  • プリンターモードで片面印刷はOKですが両面印刷では左から右に掛けて多くの横線が入る
  • お困りの方にお伝えする両面印刷時の横線入り問題とは?解決策を探ります
  • MFC-L3770CDWの両面印刷時に左から右に横線が入ります。原因と対処方法をご紹介
回答を見る