0

これは以前にも尋ねられたことは知っていますが、見つけることができるすべてのスレッドを1時間調べた後、直接質問することにしました.

ドキュメント クラスで完全に構築された Flash IDE で作成された SWF があります (これはドキュメント クラスを使用した最初のプロジェクトですが、今まで問題はありませんでした)。この内部には、変数などのステージへの参照が多数あります。メイン SWF をプリロードする別の SWF があります (これもすべてドキュメント クラスで実行され、作成しようとした最初の外部プリローダーです)。私が抱えている問題は、メインの SWF が追加される前のステージを参照しているため、#1009 エラーが発生することです。

私はすでにこれを修正する 2 つの方法を試しましたが、驚いたことに、どちらもうまくいきませんでした。1 つ目は、次のコードが示すように、ロードする前に SWF のローダーを追加することでした。

package 
{
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.events.ProgressEvent;
    import flash.display.MovieClip;
    import flash.events.Event;

    public class claude_loader extends MovieClip
    {
        public var main_movie:Loader = new Loader  ;
        public function claude_loader()
        {
            addChild(main_movie);
            trace(main_movie.stage);
            main_movie.load(new URLRequest("claudia_summers.swf"));
            main_movie.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, load_progress);

        }
    public function load_progress(e:ProgressEvent):void
    {
        trace(e.bytesLoaded+ " out of: " + e.bytesTotal);
    }
}

しかし、これは何も変わりません。main_movie ローダーには (トレースで確認できるように) ステージがあるため、その理由はよくわかりません。私の推論では、ロードされた SWF に問題はないはずです。

また、メインの SWF を ADDED_TO_STAGE イベントが発生するまで実行しないように変更しようとしましたが、追加される前にイベントがトリガーされています (メインの SWF を単独で再生しても?)。

誰か助けてくれませんか本当に明らかな何かが欠けていますか?

PS メインの SWF コードを投稿できますが、1000 行を超える長さなので、どの部分が役立つかわかりません。

4

1 に答える 1

0

方法はわかりませんが、ロードされた swf で ADDED_TO_STAGE リスナーを動作させることができたので、問題は解決しました。

于 2013-06-06T17:42:57.170 に答える