2011-02-05 6 views
0

確かにベストプラクティスではありませんが、同じ関数呼び出しの中でファイルを読み込んで内容を取得する必要があります。これは、urlLoader.load関数を呼び出して、コンテンツがロードされるのを待つ(while(true)と言う)。COMPLETEイベントを待たずにファイルをロードするには?

フラッシュがイベントをトリガーしないか、現在のスレッドが終了するまでファイルのロードを続行しないという事実に悩まされています。 Flashが現在のメソッド呼び出しを終了せずにファイルの内容を利用できるようにする方法はありますか?

私はこれが良いことではないことを知っています。これは、イベントを待たずにファイルの内容が必要なローカル環境のプロセスを容易にするためです。私がプロセスを続行させると、すでにキューに入れられた他のイベントが起動し、混乱します。残念ながら、コードを完全にリファクタリングしすぎると、あまりにも多くの労力がかかるでしょう。

+0

を試してみてください。それを吸ってリファクタリングするだけ。 –

+0

私はそれを書いていませんでした:( – LopSae

+0

IMHO、まったくありません。システムコードでロードされ、ユーザーコードが終了するまで起動しません。 'elastic racetrack'を検索して、フラッシュフレーム中に何が起こるかを確認してください。 – alxx

答えて

2

これを回避する唯一の方法は、SWF自体に[Embed]というファイルを埋め込むことです。

実行時にファイルをロードする場合は、イベントを使用する必要があります。すべてのI/Oは非同期パターンで行われます。それを受け入れると非常に効率的なコードを書くことができます。

+0

私はテキストファイルをロードしようとしていたので、答えに追加します。これは '[Embed]'タグによってどのように処理されるかに関するリンクです:http://cookbooks.adobe.com/post_Embed_external_text_or_Javascript_in_an_Actionscri-12749.html – LopSae

1

はその後、多分あなたが最初の場所で悪い方法でコードを書かれているべきではありませんflash.net.URLStream

+1

これはまだです –

+0

@ Samuel Neff - 問題は 'COMPLETEイベントを待たずにファイルをロードするには? ' – www0z0k

+0

@ www0z0kだから、これはどう答えますか?' URLStream'を使うと –

関連する問題