• 締切済み

LoadVarsによるデータの読み込み

現在、簡易ペイントチャットのようなものを作っています。 ログファイル名がSimpleWebNote1、 ログの中身はxb_old=100,200,300,400 といった感じです。 ログを取得し、","で区切ってSimpleWebNote1という配列に格納したいので ↓のような処理をしています。 (ログは4つありますがすべて同じような処理) load_obj = new LoadVars(); load_obj.load( "SimpleWebNote1.txt" ); load_obj.onLoad = function(){ str = load_obj(bx_old); SimpleWebNote1 = str.split(","); } そして100回前までのログを再描画するために ↓のような処理をしています。 for (var i=0; i<=100; i++){ _root.lineStyle (3, 0x000000, 100); _root.moveTo (SimpleWebNote1[i], SimpleWebNote2[i]); _root.lineTo (SimpleWebNote3[i], SimpleWebNote4[i]); } ですが、画面には何も表示されず困っています。 どこか間違っているとしたら指摘してほしいです。 この部分ができたら完成なので本当にもどかしいです。

みんなの回答

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

> どこか間違っているとしたら指摘してほしいです。 と書かれましても何がしたいのかがよくわからないので, どこをどう直せばいいのかよくわかりません。 特にわからないのは root.moveTo (SimpleWebNote1[i], SimpleWebNote2[i]); _root.lineTo (SimpleWebNote3[i], SimpleWebNote4[i]); この部分の, SimpleWebNote2 や SimpleWebNote3 や SimpleWebNote4 の突然の出没です。 どこから出てきて,何がしたいのか??? ◎ ファイル構造が次のようになっているとします。   任意のフォルダ      ├○○.html (○○.swf を表示)      ├○○.swf (話題の本題のFlash)      └SimpleWebNote1.txt ◎ SimpleWebNote1.txt 内のデータが次のようになっているとします。 xb_old=200,50,100,350,350,150,50,150,300,350,200,50 ◎ Flash のスクリプト例 -1- -------------------------------------------- load_obj = new LoadVars(); load_obj.load("SimpleWebNote1.txt"); load_obj.onLoad = function() { str = load_obj.xb_old; SimpleWebNote1 = str.split(","); for (var i = 0; i<=9; i += 2) { _root.lineStyle(3, 0x000000, 100); _root.moveTo(SimpleWebNote1[i], SimpleWebNote1[i+1]); _root.lineTo(SimpleWebNote1[i+2], SimpleWebNote1[i+3]); } }; -------------------------------------------- ◎ Flash のスクリプト例 -2- -------------------------------------------- load_obj = new LoadVars(); load_obj.load("SimpleWebNote1.txt"); load_obj.onLoad = function() { str = load_obj.xb_old; SimpleWebNote1 = str.split(","); // ↓ユーザ定義関数drawLineを実行 drawLine(); }; // ↓ユーザ定義関数drawLineの定義 function drawLine(){ for (var i = 0; i<=9; i += 2) { _root.lineStyle(3, 0x000000, 100); _root.moveTo(SimpleWebNote1[i], SimpleWebNote1[i+1]); _root.lineTo(SimpleWebNote1[i+2], SimpleWebNote1[i+3]); } } -------------------------------------------- 少なくともご質問で書かれていらっしゃる, > str = load_obj(bx_old); これは間違っていると思います。 上記1行を直訳すると 「変数strに,ユーザー定義関数load_objを引数bx_oldで実行した戻り値を代入。」 のようになります。 つまり,「何ソレ?」状態です。

yousuck
質問者

お礼

スクリプト例のほうを参考にさせていただき、再度試してみたところうまくいきました! お礼が遅れてしまいましたが、本当にありがとうございました。

関連するQ&A

専門家に質問してみよう