• ベストアンサー

外部から読み込んだテキストを切り替える方法

1.外部テキストを読み込む 2.ボタン1、ボタン2、ボタン3をクリックすると、   テキストフィールドに表示される文字が   各1~3までの変数を読み込んで切り替わる。  (ボタンの数と表示するテキストの数は同じ) …という内容をやってみようと考えてるのですが、 こちらは技術的に可能なのでしょうか? 読み込む変数の数だけテキストフィールドは必要になりますか? テキストファイルを個別に分けて切り替える…という手法は、 たくさんあったのですが、変数で切り替える方法がわからず、 どなたかご教授くださると助かります。

  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • joy_28
  • ベストアンサー率84% (45/53)
回答No.1

anzunyaさん、 簡単なAS2.0で説明します。 -外部mess.txtに、例えば、以下のように記載: &mess1=1番目のmess& &mess2=2番目のメッセージです& &mess3=3番目のメッセージと意見です。& &kazu=3& -FLA側の記載内容:第一フレームのscriptレイヤーに記載 //ここから //初期設置領域 var max:Number;//メッセージの数の変数定義 _txt.text = "";//インスタンス名 _txtのダイナミックテキストのロード時の初期値は、ブランク var mess_array:Array = new Array();//配列定義 //System.useCodepage = true;//mess.txtのコードが、UTF-8で記載されてない場合は、これが必要、されていれば、不要 //LoadVarsクラスの設置領域 var lv:LoadVars = new LoadVars(); lv.onLoad = function():Void { mess_array[0] = "";//要素番号0は、以下のfor文では、定義されないので、ここで、ブランクで定義しておく→なくてもいいですが、気持悪い場合は、こうする max = Number(this.kazu);//文字列の数値化 for (var i:Number = 1; i<=max; i++) { mess_array[i] = this["mess"+i];//配列に、外部mess.txtの変数の中身を格納する } pickUp();//外部mess.txtの読み込みが終了したなら、下のカスタム関数を始動させる }; lv.load("mess.txt"); //lv.load("mess.txt?"+getTimer());//サーバーアップ時は、ブラウザーのキャッシュ対策として、こちらを使用する。ローカルでは、エラー発生 function pickUp() {//ごちゃごちゃするので、このように、カスタム関数化して、外出しにしておくといいでしょう。 btn1.onRelease = function():Void { _txt.text = mess_array[1];//配列要素番号の1番(→この場合は、"1番目のmess")を抽出して、_txt.textに代入 }; btn2.onRelease = function():Void { _txt.text = mess_array[2]; }; btn3.onRelease = function():Void { _txt.text = mess_array[3]; }; /*今回は、ボタンが3つですが、多くなった場合は、以下のように、for文を使うほうが良いです for (var i:Number = 1; i<=max; i++) { this["btn"+i].id = i;//iを、動的に生成したプロパティ id に保管 this["btn"+i].onRelease = function():Void { _txt.text = mess_array[this.id];//this.idで配列要素を抽出 }; } */ } //ここまで 以上で、ボタンを押す都度、該当メッセージが表示されます。

anzunya
質問者

お礼

わかりやすい説明をありがとうございます。 こちらの内容で試してみますね!助かりました~。

関連するQ&A

  • Flashで外部テキストをテキストフィールドオブジェクトに読み込む方法

    FlashMXを使用しています。 外部テキストファイルをまず loadVariablesで読み込みました。 そして、その読み込んだテキストファイルの内容を、 ダイナミックテキストボックスに入れて表示させたいと思っています。 その際、テキストボックスには変数名をつけるのではなく、インスタンス名をつけることでテキストフィールドオブジェクトとしています。 以下、そのスクリプトです。 mc_text_fieldという名前のテキストフィールドオブジェクトに外部テキストの変数v_textのストリングを読み込ませようとしていますが、うまく作動しません。 タイムラインのスクリプト this.loadVariables("gaibu.txt"); mc_text_field.text=v_text; 外部テキストgaibu.txtの中身 v_text=こんにちは。 宜しくお願いします。 また、LoadVarsを使っても読み込むことは可能なのでしょうか。どちらがお薦めでしょうか。宜しくお願い致します。

  • 外部テキストの読み込み

    はじめましてよろしくお願いしますm(_ _)m 最近FLASHのアクションスクリプトを触るようになったのですが、どうしてもわからないことがあるので質問させて下さい。 やりたいのは…、 text01=あいうえお &text02=かきくけこ &text03=さしすせそ という外部テキストファイルがあってそれを1つのswfファイルが読み込まれるごとに違う値を表示したいです。イメージとしては下のような感じです。 <sample.swf>←ここではtext01の内容を表示 ・ ・ <sample.swf>←ここではtext02の内容を表示 ・ ・ <sample.swf>←ここではtext03の内容を表示 ・ ・ swfファイルを個別に用意し、外部テキストの変数をそれぞれ指定してやればできるのですが、それではswfファイルが複数になってしまうのと読み込みにも時間がかかるので(見出しに使いたいのでフォント埋め込みです)なんとか1つのswfファイルでできないか考えています。 FLASHではこういったことは可能でしょうか? 何かヒントだけでもいただけると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • フラッシュMXで外部テキストから複数種類出力する方法

    まだ初心者なので初歩的なことを書くかもしれませんがよろしくお願いします。 日記みたいなのを作ろうとしているのですが、今作っているものがとても重くなってきたのと簡単に増やすことが出来るよう外部テキストにしようと考えています。 ひとつのテキスト出力のところにボタンを押すとそのボタンの日付の日記が出力されるようにしたいのですが、どのようにしたらいいのでしょうか? ひとつの外部テキストを表示する方法は分かりますが、ボタンを押してするというのがどのようにやったらいいのかを重点的に教えてください。 外部のファイルはひとつ(変数1=text1&変数2=…)からでも複数(全く違うファイル)でも可能なんでしょうか? よろしくお願いします。

  • 外部テキストをボタンでの表示

    テキストフィールド内に外部テキストを読み込ませて表示しているのですが ボタンで同一フィールド内の外部テキストを別のテキストに切り替える方法は どうしたらよろしいでしょうか? 急いでます。宜しくお願いいたします><;

  • AS3.0 読み込んだ外部テキストを消す方法

    FlashCS3、AS3.0で作っています。 AS3.0は今回初挑戦です。 外部テキストを読み込んだ後、ずっとページを移動してもずっと残ってしまいます。これを消すにはどうしたらいいでしょうか。 ナビゲーションボタンをクリックすると、小見出し一覧が表示。 小見出しをクリックすると、外部テキストが読み込まれる。 といった動作を作っています。 1)ナビゲーションボタンをクリックして、小見出し一覧が表示される。 2)小見出しをクリックすると外部テキストが読み込まれる。 までは、四苦八苦しながらもなんとかできたのですが、次の小見出しをクリックしても前に読み込んだテキストが残った状態で重なるように表示されてしまします。 小見出しをクリックしたときに、前に読み込まれた外部テキストを消して、新しく読み込んだ外部テキストを表示するにはどうしたらいいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 外部テキストファイルを読み込んで変数に格納する方法は?

    外部テキストファイルを読み込んで変数に格納する方法は、どうすればよいのでしょうか?その際、テキストフィールド等は使用しないで、直接変数に格納したいのですが・・・。 ちなみにflash5を使用しています。

  • 外部から読み込んだテキストを表示する際の問題

    テキストを外部から読み込み、splitを使用して配列にし、 ボタンが押されたら指定された行を表示するという作っています。 ボタンを押すと指定行は表示されるのですが、いくつか問題が出てしまいました。 1.文字をテキストフィールドの左上に表示したいのに隙間が空いてしまう(下にずれてしまう) 2.文字化けする(外部テキストはEUC) 1は改行が入ってしまうのかな?とも思うのですが直し方がわからずどうしても解決できません。 アドバイスをお願いします。

    • ベストアンサー
    • Flash
  • ボタンを押すと外部テキスト表示

    初心者です。フラッシュはMXです。よろしくお願いします。 ボタンを押すと外部のテキストをテキストフィールドに表示する、というものを作りたいと思っています。過去の記事を検索して、私なりに組み立ててみました。 外部テキストファイル名はphoto01.txtです。読み込みたいテキストはtxt01_1です。 まず、メインにダイナミックテキスト、複数行、変数comentを用意しました。 ボタンは、メインにあるムービークリップthumbnailsの中にあるボタンに、 on (release) { _parent.coment = txt01_1; } というアクションを書きました。 そしてメインのフレームには System.useCodepage = true; this.loadVariables("photo01.txt"); というアクションを書きました。 プレビューしてボタンを押してみたらundefinedと出てしまいました。 意味も全くわからないまま拾い集めて組み立ててみたので、何が悪いかもわかりません。 どなたかぜひ教えてください。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASHで外部テキストを表示するには

    こんにちは。 現在FLASHで、あるボタンをクリックすると吹き出しが出て、その吹き出しの中に外部テキストを表示させる、というものを作ろうとしています。 吹き出しはムービークリップシンボルで作成し、ダイナミックテキストブロックを配置したフレームに「loadVariablesNum("text1.txt", 0);」というアクションを追加しました。 そしてボタンには「on (release)」イベントを追加し、クリックすると吹き出しシンボルが表示されるようにしました。 その結果、ボタンをクリックすると吹き出しは表示されるのですが、テキストが全く表示されません。スクリプト内で指定した外部テキストのファイル名および階層は間違っていないようです。 このように、うまく外部テキストを読み込みできない原因として、何か考えられることはありますでしょうか? 説明が下手で申し訳ありませんが、ご教示いただけると助かります。 よろしくお願いいたします。

  • 外部テキスト読み込み、横スクロールで流れる文字

    外部テキストファイルを読み込んで、横スクロールで文字が永遠とループで流れるものをFLASHで表示したいのです。 外部テキストの文字数なども読み込んで もし文字が多くても対応できるようにしたいのです。 私はFLASH8を使用しております。 なんとか宜しくお願いします><

    • ベストアンサー
    • Flash

専門家に質問してみよう