おはようございますフレンドリーなフラッシャー ;) それで、昨日から 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がまったく表示されません:(アイデア? ヒントをありがとう!
~レオン