最初のフレームで SWF のプリローダーを作成しました。次のコードがあります。
import flash.events.Event;
stop();
this.addEventListener(Event.ENTER_FRAME , onEnterHandler,false,0,false);
function onEnterHandler(e:Event)
{
trace(progbar);
trace(jot);
trace(spark);
progbar.width = (this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 398;
jot.x = progbar.x + progbar.width;
jot.y = progbar.y;
spark.x = jot.x;
spark.y = jot.y + 10;
jot.loadtext.text = String(Math.round(progbar.width / 398 * 100)) + " %";
if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal)
{
gotoAndStop(2);
}
}
コードを実行すると、出力ウィンドウに次の出力が表示されます。以下は出力の一部です。
紛らわしいのは、最初に trace ステートメントが正しい出力を生成することですが、その後 trace ステートメントが null を生成し始めることです
[object ProgBar]
[object Jot]
[object Spark]
null
null
null
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Final_fla::MainTimeline/onEnterHandler()
null
null
null