テキストファイルの読込について

このQ&Aのポイント
  • ActionScriptを使用してテキストファイルを読み込む方法について説明します。
  • この方法では、LoadVarsオブジェクトを使用してテキストファイルを非同期で読み込みます。
  • しかし、テスト.txtファイルの読み込み結果がundefinedになってしまう問題が発生しています。
回答を見る
  • ベストアンサー

テキストファイルの読込について

_rootの1フレーム目に以下のActionScriptを記述しました。 this.stop (); myLoadVars = new LoadVars(); myLoadVars.onLoad = function(Success) { if (Success) {   trace("result="+_root.result);  } }; myLoadVars.load("test.txt"); test.txtの中身は以下です。 result=test 実行したところ、結果は result=undefined でした。 result=testにならないのはなぜなのでしょうか?

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

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

  • ベストアンサー
  • notebleu
  • ベストアンサー率45% (34/74)
回答No.1

this.stop(); var myLoadVars :LoadVars = new LoadVars(); myLoadVars.onLoad = function(Success) { if (Success) { trace("result=" + myLoadVars.result); } }; myLoadVars.load("test.txt"); これで通ります。

labilion
質問者

お礼

ありがとうございます! てっきり読み込んだ変数は_rootに入るものだと思っていたら違うんですね。 謎が解けました。本当にありがとうございました。

関連するQ&A

  • 単一のFlashに単一のテキストファイルで複数の内容

    単一のFlashに単一のテキストファイルで複数の内容を1画面で表示させたいのですが、うまくいきません。 状況としては、【kotei1】には表示されますが、【kotei2】【kotei3】【kotei4】にはundefindと表示されてしまいます。 OS:Windows7 Flash:CS4 AS2.0 以下がASになります。 タイムライン1(全てレイヤー別に作成) ■kotei4(Layer4) ■kotei3(Layer3) ■kotei2(Layer2) ■kotei1(Layer1) 各タイムラインAS ■kotei4 System.useCodepage = true; var my_lv:LoadVars = new LoadVars(); my_lv.onLoad = function(success:Boolean) { if (success) { kotei4.text = my_lv.name4; } else { trace("Error loading/parsing LoadVars."); } }; my_lv.load("name.txt"); ■kotei3 System.useCodepage = true; var my_lv:LoadVars = new LoadVars(); my_lv.onLoad = function(success:Boolean) { if (success) { kotei3.text = my_lv.name3; } else { trace("Error loading/parsing LoadVars."); } }; my_lv.load("name.txt"); ■kotei2 System.useCodepage = true; var my_lv:LoadVars = new LoadVars(); my_lv.onLoad = function(success:Boolean) { if (success) { kotei2.text = my_lv.name2; } else { trace("Error loading/parsing LoadVars."); } }; my_lv.load("name.txt"); ■kotei1 System.useCodepage = true; var my_lv:LoadVars = new LoadVars(); my_lv.onLoad = function(success:Boolean) { if (success) { kotei1.text = my_lv.name1; } else { trace("Error loading/parsing LoadVars."); } }; my_lv.load("name.txt"); ***name.txt*** &name1=固定1 固定1を表示しています。& &name2=固定2 固定2を表示しています。& &name3=固定3 固定3を表示しています。& &name4=固定4 固定4を表示しています。& ***テキストデータsample***

  • MCの色を外部テキストで制御する方法について

    ムービークリップに色をつけるときは、 ムービークリップにimg1と名前を付けて image = new Color(this.img1); image.setRGB(0xff0000); で成功します。 それを外部テキストファイルを使い色変更しようと考えましたが、うまくいかない為に質問させていただきました。 ============================== ・ムービークリップ名をimg1 ・テキストファイルread.txtに『&color1=0xff0000&』 とする 以下、asフレームです。 myLoadVars = new LoadVars(); myLoadVars.onLoad = function(Success) { if (Success) { image = new Color(this.img1); image.setRGB(color1); } }; myLoadVars.load("read.txt"); stop(); ============================== loadVariablesを使った方法も試しましたが成功しません。いろいろな言葉で検索しましたが見つからず、お手上げ状態なので、もし、分かる方がいたらお教えください。

    • ベストアンサー
    • Flash
  • 外部テキストファイルでは文字間隔が反映されません

    初心者です。 外部テキストファイルを読み込んで、プロパティ上で文字間隔を設定しておりますが、文字間隔が反映されません。 フレームアクションは以下のように設定しております。 以下のサイトよりコピペで貼り付けました。 http://support.adobe.co.jp/faq/faq/qadoc.sv?228629+002 System.useCodepage = true; var my_lv:LoadVars = new LoadVars(); my_lv.onLoad = function(success:Boolean) { if (success) { my_txt.text = my_lv.textContent; } else { trace("Error loading/parsing LoadVars."); } }; my_lv.load("myExternalText.txt"); どのようにしてよいのかわかりません。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 引数の渡し方

    いつもお世話になっています。 外部テキスト(data.txt)を読み込んで、内容を配列(txtN)に格納、 表示するスクリプトを組んでいます。 myNameは複数あり、ボタンから渡される引数に応じて myNameを切り替えてtrace(実際には表示)させたいんですが、方法が分かりません。 以下フレームアクション //Shift-JISで読み込む System.useCodepage = true; load_obj = new LoadVars(); load_obj.load( "data.txt" ); load_obj.onLoad = function( success ){ //正常終了時、カンマで分割して配列に格納 if( success ){ my_ary = new Array(); my_ary = load_obj.myName.split(","); } txt01=my_ary[0]; txt02=my_ary[1]; txt03=my_ary[2]; txt04=my_ary[3]; trace(txt01); trace(txt02); trace(txt03); trace(txt04); }; stop(); よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部テキストからURLを読み込む方法

    昨日、外部テキストの読み込みでお世話になったものです。 言われたとおりにやってみたところちゃんとテキストは読み込めました。 次はURLを読みこもうと思い、みなさんの質問の参考になりそうなものを手がかりにやってみたのですが、うまくいきませんでした。 テキストファイルは『flash.txt』 シンボルはMCで フレーム1のアクションスクリプトは ―――――――――――――――――― System.useCodepage = true; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(Success) { if (Success) { _root.text1.text = this.menu1; _root.url1 =this.url1; } }; myLoadVars.load("flash.txt"); --------------------------------------- となっています。 これでシンボルMCに on (release) { getURL("_root.url1"); } とやっているのですが、飛びません。 また前回と同じようにこちらのミスが多いのかもしれませんが、 知っている方がいましたらよろしくお願いいたしますm(__)m

    • ベストアンサー
    • Flash
  • flashアクションスクリプト LoadVarsについて

    はじめまして。初めて質問させていただきます。 onloadメソッドの中でロードしたデータを変数に代入したいのですが、うまくいきません。記述は以下のとおりです。 var hen; a_lv=new LoadVars(); a_lv.onLoad=function(a){ hen=this.txt } a_lv.load("b.txt"); trace(hen); 出力パネルに”undefined”と表示されてしまいます。 どうしたらうまくいきますか? 分る方いましたら、是非教えてください。

  • 外部テキストが読み込めません

    はじめまして FLASHをつい1週間まえからはじめました超初心者です。 こちらの過去ログをみてやってみたのですが、うまくいかなかったので質問させてください。 外部テキスト(test.txt)をLoadVarsクラスで読み込み、 その中の定義(text=…)をMC(インスタンス名はtext)に書き出したいのですが、何度やっても書き出せません。 アクションスクリプトは ――――――――――――――――― System.useCodepage = true; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(bSuccess) { if (bSuccess) { _root.text = this.text; } }; myLoadVars.load("test.txt"); ―――――――――――――――― 以上のようになっています。 わかる方いましたらよろしくお願いします。 質問初めてですので、今後のためにも言葉が足りなかったりしたら遠慮なく突っ込んでください。

    • ベストアンサー
    • Flash
  • 外部テキストの値を得るには?

    フラッシュ初心者&質問するのが初めてなので うまく伝わるかどうか心配ですがよろしくお願いいたします。 外部テキストnum.txtにはstr=5という記述があります。 このnum.txtを取り込んで、 5という数値をflash側で変数aaaに代入しました。 --------------------------- var vars = new LoadVars(); vars.load("num.txt"); vars.onLoad = function(num){ if(num){ aaa= vars.str; trace(aaa); } } --------------------------- この場合、ちゃんと5と出力されます。 しかしこの関数内のaaaという変数を他でも利用したいのです。 (例えばvar menu_num:Number = aaa;というように) 単純に下のように記述すると --------------------------- var vars = new LoadVars(); vars.load("num.txt"); vars.onLoad = function(num){ if(num){ aaa= vars.str; } } var menu_num:Number = aaa; trace(menu_num); --------------------------- undefinedが出力されます。 この時にちゃんと5と出力させるにはどうしたらいいのでしょうか。 いろいろグローバル変数など勉強しましたがうまくいきません。 ちなみに外部テキストnum.txtのstr=5というのは、 5という数字のみでもかまいません。 とにかくテキストから数値を取り出す方法を考えています。 ご回答お願いいたします。

    • ベストアンサー
    • Flash
  • MovieClipLoaderってテキストは対象外?。

    以前、No.961443の#7DPEさんに教えて頂いた内容を基にScriptを記述していました。 下記のScriptにて4ファイルしか読み込み対象がないのにも関わらず、表示出来なかったり出来たりします。 <1フレーム> load_flg = 0; suffix_no = 0; temp = ""; this.loadVariables("control.txt" ); <3フレーム> if(latest_no == "") {  gotoandplay(2) ; } else {  suffix_no = latest_no ; } (latest_noはテキストファイルで指定している変数名) <4フレーム> if (suffix_no != 0) {  System.useCodepage = true;  this.loadVariables("log"+suffix_no+".txt");  var fileload:LoadVars = new LoadVars();  fileload.load(log"+suffix_no+".txt");  fileload.onLoad = function(success:Boolean) {   if (!success) {    load_flg = -1;   } else {    load_flg = 1;   }  }; } else {  load_flg = -1; } <6フレーム> switch (load_flg) { case 0 :  gotoAndPlay(5);  break; case 1 :  temp += fileload.test;  suffix_no--;  load_flg = 0;  gotoAndPlay(4);  break; case -1 :  disp_fld.text = temp;  format = new TextFormat();  format.tabStops = new Array(80, 380);  disp_fld.setTextFormat(format);  stop();  break; default :  break; } ちゃんと読込みの完了を待つロジックは実装しているのに、何故かちゃんと表示される時と何も表示されない時があるのです。何故でしょうか?。 ご存知でしたらご教授ください。 また、「MovieClipLoader」って使えませんか?。

    • ベストアンサー
    • Flash
  • 【LoadVars】変数を数値で取り出したい。

    まずは【count.txt】に事前に書き込んだ 半角の数値で書いた"0"を同じディレクトリに保存。 1フレームに下記のソースを記述。 hensu = new LoadVars(); hensu.load("./count.txt"); hensu.onLoad = function() { trace(hensu); }; プレビューすると、 traceの出力が【onLoad=%5Btype%20Function%5D】となります。 どうすれば数値で取り出せるのでしょうか??

    • ベストアンサー
    • Flash

専門家に質問してみよう