早上好,友好的 Flashers ;) 所以我从昨天开始就一直在尝试将 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中的动画立即播放,但是当我把我的代码放在Class文件中时,我根本看不到我的SWF:(想法?想法?感谢您的任何提示!
~ 莱昂