- ベストアンサー
質問:MovieClipLoaderって使えませんか?
- MovieClipLoaderを使用しているが、表示に問題がある
- 読み込み完了を待つロジックを実装しているが、表示されないことがある
- MovieClipLoaderの代わりにloadVariablesを使用したい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
読み込みが不安定になっている原因かどうかは分かりませんが、フレーム4で this.loadVariables("log"+suffix_no+".txt"); var fileload:LoadVars = new LoadVars(); fileload.load(log"+suffix_no+".txt"); と、loadVariables と LoadVars で、同じファイルを読み込んでいますよね。 ほぼ同時に全く同じファイルへのアクセスが行われるので、loadVariables より後に実行される LoadVars の読み込みが失敗しているのではないでしょうか。 すると load_flg に -1 が入り、フレーム間のループが打ち切りになります。この状態では temp には何も代入されず、temp の中身を利用する disp_fld の text プロパティも空っぽのままです。 loadVariables で読み込んだ変数を利用している箇所はありませんので、こちらを削除してみてはいかがでしょう。 ・・・ところで、ご質問文のスクリプトでは、log4.txt → log3.txt →・・・と、番号の大きなファイルから順にカウントダウンして読み込まれているようですが、この順序で問題ないのでしょうか? -------------- MovieClip オブジェクトでも、変数を読む loadVariables 、画像やムービーを読む loadMovie と、別のメソッドが用意されています。 loadVariables を強化したものが LoadVars 、 loadMovie を強化したものが MovieClipLoader です。 ダウンロードしたばかりのデータは、そのままでは使えません。swf ファイルの場合は読み込んだムービーが利用しているライブラリの初期化やレベルの設定など、画像や変数の場合は、画像データ・変数のデータとして解釈し、初期化が済んだ後で利用可能になります。 (ちなみに、MovieClipLoader の onLoadComplete はダウンロードが完了した直後、onLoadInit は初期化が済んだ時に発生するという違いがあります) MovieClipLoader でテキストファイルを読み込むと、読み込みの開始や終了は検出できます。 しかし MovieClipLoader では、テキストファイルに書かれていた情報を解析し、変数として利用できるように初期化することができないようです。 よって、テキストファイルの読み込みには不向きと言えます。 画像と違ってテキストは容量も軽く、ダウンロードにも、ダウンロード後の初期化にもそれほど時間がかからない、単純なデータです。 1つずつの読み込み終了を待って次の読み込みを始めても、それほど時間はかかりません。 無理に並行して読み込みの命令を出す必要は、ないかと思います。
お礼
ありがとうございます。 あれっ、本当ですね。私のミスです。少し前に作ってから、DPEさんを始め皆さんからのアドバイスを参考に作り変えているうちに、削除し忘れていたのかも知れません。 早速削除します。 カウントダウンは意図したものです。 「What's New!」等では最新情報から順に表示するのが一般的なので、ファイル番号は作成順にして一番大きいNoから読み込むようにしました。 これからも宜しくお願い致します。