| 対象 | FLASH MX 2004 |
(1)LoadVars は 手軽にテキストファイルから変数を取得するのに便利です。
以下テキストファイルに書かれた変数を読み込む例です。
FLASH データファイル "test.txt" // LaodVars() 作成 a_lv = new LoadVars(); // 読込み時のイベントを設定 a_lv.onLoad = function (ok) { if(ok){ trace("読込み成功"); trace("test=" + a_lv.test); }else{ trace("読込み失敗"); } } // 実際に読み込む a_lv.load("test.txt");test=test
データファイルには、変数名=値&変数名=値&...のように書いておきます。
(2)普通のテキストファイルを読みたい
しかし、変数名=値&変数名=値&...と書くのではなく、普通にテキストファイルを読みたい場合があります。
そんなときは、onLoad ではなく、onData イベントを使います。
FLASH データファイル "test.txt" System.useCodepage = true;//データファイルをSHIFT-JISで読む // LaodVars() 作成 a_lv = new LoadVars(); // 読込み時のイベントを設定(直接読む) a_lv.onData = function (src) { if(src != undefined){ trace("読込み成功"); trace("内容=" + src); }else{ trace("読込み失敗"); } } // 実際に読み込む a_lv.load("test.txt");普通のテキストファイル
普通のテキストファイル
普通のテキストファイル
テキストファイルの文字コードについての考察は、こちら。
もし読込みに失敗したときは、引数(上のソースだと、src) に、undefined が返ります。
(3)データファイルを読みたい!
変数名=値&変数名=値&...と書くのではなく、変数名=値(改行)変数名=値を一行ごとに書く独自データファイルを読み込んでみます。
FLASH データファイル "test.txt" System.useCodepage = true; // 改行コード置換用 var CR = String.fromCharCode(13); var LF = String.fromCharCode(10); // 置換用関数 function replaceStr(a_str, from_str, to_str) { var a_array = a_str.split(from_str); return a_array.join(to_str); } // 区切り文字までで、文字列を2つに分ける function split2(a_str, kugiri_str){ var i = a_str.indexOf(kugiri_str, 0); return new Array(a_str.substr(0,i), a_str.substr(i+1, a_str.length - i)); } // LaodVars() 作成 a_lv = new LoadVars(); // 読込み時のイベントを設定(直接読む) a_lv.onData = function (src) { if(src == undefined){ trace("読込み失敗"); return; } // 改行コードをそろえる src = replaceStr(src, CR + LF, CR); src = replaceStr(src, LF, CR); // 一行ごとにデータを取得 a_array = src.split(CR); for(i in a_array){ var b_array = split2(a_array[i], "="); var key_str = b_array[0]; var val_str = b_array[1]; if(key_str.length > 0){ // 読んだ結果を表示 trace(key_str + "=" + val_str); } } } // 実際に読み込む a_lv.load("test.txt");url=http://www.text2music.com/
name=text2music.com
description=オンラインソフトの配布など