(我正在使用FlashDevelop)
我在项目中加载一些外部swfs时遇到问题。直到几个月前他们将预加载器集成切换为:
时,这种情况很有效[帧(factoryClass = “预载”)]
从那时起,我的swf加载了一个Loader()没有显示。
知道改变了什么?
谢谢!
代码:
public class Main extends Sprite
{
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
loadMovie("Dots.swf");
}
private function loadMovie(url:String):void {
var mLoader:Loader = new Loader();
mLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.load(new URLRequest(url));
}
private function onCompleteHandler(loadEvent:Event):void {
trace("COMPLETE");
addChild(loadEvent.currentTarget.content);
}
private function onProgressHandler(event:ProgressEvent):void {
trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}
private function ioErrorHandler (e:IOErrorEvent):void {
trace("ERROR");
}
}
答案 0 :(得分:0)
“COMPLETE”被追查了吗?我不能从你在这里发布的代码中说出太多内容,可能会有其他事情发生,特别是在Dots.swf中。
我直接看到的一件事是你的装载机对象可能正在收集垃圾,但如果它正在追踪“完全”,那肯定不是这样。尝试立即将加载器添加到显示列表,看看是否有所作为。例如:
var mLoader:Loader = new Loader();
addChild(mLoader);
我在Flash Develop中完成所有工作并且没有遇到任何问题。如果您能够共享更多代码或示例项目,我可以进一步调查。