3.外部のテキストファイルを読み込む

外部のテキストファイルから値を読み込みたい!

ほんとはXMLをさくっと読めるといいのですが、Lite1.1ではそういうのはないようで、テキストファイルを読むことにします。

一番近いのがloadVariablesというグローバル関数を使うようですので、テストしてみたところ、やっぱり(?)はまりました、、、(^^;

キーイベントじゃないとだめ?

意図通りにテキストファイルを読み込むことができず、いろいろ調べていくと、どうもloadVariablesはキーイベントでないと動作しない、という記述を見つけました。

試しにそのように記述すると、携帯でも動作しました!

しかし、これってかなりうっとおしい、、、(-_-;)

なにしろ、ユーザーが何かキーを押さないとテキストファイルの読み込みが開始しないわけですから。

loadVariablesを使うムービーは、キーを押してもらいテキストファイル読み込み開始→その後さらにスタートボタンを押してもらって、ムービーをスタートさせてるのだろうか?

うーん、なんだかなぁ。

読み込みの判定

実際のファイルの読み込み自体は手元にある参考書の通りで動きました。

まず、外部テキストファイルは

変数1=値1&変数2=値2&・・・&flag=1

としておきます。ここでflag=1は終了のマークみたいなものです。

あるフレームに置いたボタンインスタンスに

on (keyPress "1") {
loadVariables(fname,●);
gotoAndPlay(f1);//読み込み完了待ちの先頭フレームへ
}

とします。●は変数を受け取るムービークリップインスタンスです(なぜかなくても動くのですが)。

キーを押したら読み込み完了判定のループへ移動。そのループ内に

if (!flag){
gotoAndPlay(f2);//戻る
}else{
gotoAndPlay(f3);//ループ抜ける
}

といった感じで判定部分を記述。もちろん、loadVariablesの記述はループ外。

読み込んだ変数はそのまま使えました。

ちなみに、手元の本だと、loadVariablesでは、ダウンロードの進行状況の把握はできない、とありますから、何%読み込んだとかいわゆるプリローダーみたいなのはできない、ということのようです。

ところで、外部のテキストファイルを作成する時、なんとなく適当なところで改行したくなりません?

私はなるんですよっ!だって、テキストファイルを開こうとしたら1000くらいまでしか文字を表示できませんし。

ところが、改行しておくと、どうやらloadVariablesでは読み込めないようで、flag=1までたどり着きませんでした。

2.HTMLからSWFへ値を渡す←