07/10/08 01:59:37 EXT3QTW+
>>564
すごく大雑把で分かりにくいだろうけどとりあえず説明すると
txtVars.onData~trace(videoList[0]);の処理はイベントハンドラ言うて
data.txtの読み込みが完了したというイベントが
通知されて初めて実行されるから、多分>>564の思っている
処理順番とは違う。
>>559だけの処理の順番としては
txtVars.loadでtxtVarsオブジェクトにdata.txtを読みに行ってらっしゃいと命令
(この時点では読み込み自体はしていない)
↓
txtVars.onDataにdata.txtを読みに行ったtxtVarsオブジェクトの読み込みが完了した時に実行させる
処理の内容を設定(この時点では処理内容の設定だけでonDataの中の処理が走らない)
↓
trace(videoList[1]);※videoListなんて変数ここでは初めて出てきて知らないからundefined
この下でいくらvideoListの内容をtraceしてもundefined
↓
:※アクションフレームを抜けてtxtVarsオブジェクトがdata.txtを読み込みに行って、それが完了するまで
:Flash上でいう1フレームか数フレームか詳しく分からないけど待つ
↓
txtVarsオブジェクトがdata.txtの読み込みを完了したので、
ここでonDataに記述してある処理を初めて実行する。
videoList = a.split(",");でここで初めてvideoListという変数が現れて
かつ代入処理で特に注釈とかないから自動的にvideoList変数を_rootに定義。
trace(videoList[0]);は先に変数が定義されているので普通に表示される。
てな感じ。
>>559のtrace(videoList[1]);の位置でいくらvideoListの中身を確認しても
その時点ではonDataの中の処理が走ってないから値は入らないよ。