0

おはようございますフレンドリーなフラッシャー ;) それで、昨日から SWF ファイルをメイン ムービーにロードしようとしてきました。movieClip 内にコードを配置する前にこれを実行しましたが、今回は Class ファイル内で作業しています。ローダーを含むサブクラス内の関数を呼び出すメインクラスがあります。私の問題は、swf が読み込まれることです (トレースを介してわかります) が、読み込まれた swf が表示されません:(

以下は私のサブクラス内のコードです

package src.howdinicurtain {

import flash.net.*;
import flash.display.*;
import flash.events.Event;

public class HowdiniFrame extends MovieClip {   
    //public var splashLoader;
    public var introLoader:Loader = new Loader();
    public var introContainer:MovieClip;
    private var holdX:Number;
    private var holdY:Number;

    public function HowdiniFrame(url:String, loadX, loadY):void {
        holdX = loadX;
        holdY = loadY;

        this.addChild(introLoader);
        //this.addChild(introContainer);

        introLoader.load(new URLRequest(url));

        introLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,swfLoaded);
    }

    public function swfLoaded(e:Event):void {
        introLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded);
        introContainer = introLoader.content as MovieClip;
        //introContainer = MovieClip(introLoader.contentLoaderInfo.content);

        addChild(introContainer);

        introContainer.x = holdX;

        introContainer.y = holdY;

        trace("holdX = "+holdX);
        trace("holdY = "+holdY);

    } 

}

}

上記のコードは、swf ファイルをロードします。アニメーションの開始から終了まで、swf ファイルのトレース ステートメントを確認できますが、メインの swf 内の swf ファイルを実際に確認することはできません。

痕跡:

  • SWF ファイルは = intro.swf です。
  • 紹介ムービーが始まります :)
  • contentLoaderInfo イベントが削除されました
  • イントロムービー終了 :(

ムービーをロードするサブクラス関数を呼び出すメイン クラスのコードを次に示します。

var introPath:String = xmlOutput.intro;
trace("The SWF file is = "+introPath+"\r"+"\r");
hc = new HowdiniFrame(introPath, 0, 20); 

私は自分のコードをmovieClipの最初のフレームに投げ込むとうまく動作することを誓います.ロードされたSWFのアニメーションはすぐに再生されますが、クラスファイル内にコードがあるとSWFがまったく表示されません:(アイデア? ヒントをありがとう!

~レオン

4

2 に答える 2

3

常に子供たちを正しく扱いましょう。あなたがすることすべてにそれらを追加することを忘れないでください。さもなければ、あなたは悪い親です.

于 2009-09-22T16:18:09.527 に答える
1

とはhc? ステージ上のムービークリップですか?試してみるとどうなりますか:

hc.addChild(new HowdiniFrame(introPath, 0, 20));

または hc がステージ上のクリップでない場合

hc = new HowdiniFrame(introPath, 0, 20);
addChild(hc);
于 2009-09-22T15:59:30.530 に答える