1

つまり、メインクラスファイルでは次のようになります。

public function Main():void 
{
    if (stage) init();
    else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void 
{
    removeEventListener(Event.ADDED_TO_STAGE, init);
    // entry point
}

SWFが完全にロードされたときに実行されるものをそのまま実行することはできませんか、それともこの小さなコードが必要ですか?

4

1 に答える 1

0

重要なのは、ステージが存在するかどうかわからないためthis.stage、コンストラクター内で安全に内部化できないということです。特にそのswfが別のswfからロードされる場合は、ステージに追加されるまで待つ方が安全です。リスナーを削除することはできますが、追加時に削除されるため、オーバーヘッドはそれほど多くないため、ワントリックポニーです。

于 2012-09-16T17:27:07.657 に答える