预加载器在没有PROGRESS和COMPLETE事件的情况下加载外部SWF

时间:2011-05-27 08:08:05

标签: flash external preloader

我创建了以下预加载器,保存为“preloader.swf”,加载外部SWF文件,如下所示:

var req:URLRequest = new URLRequest("main.swf");
var loader:Loader = new Loader();
loader.load(req);

loader.contentLoaderInfo.addEventListener(Event.OPEN, showPreloader);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showContent);

var preloader:Preloader = new Preloader();

function showPreloader(event:Event):void 
{
    addChild(preloader);
    preloader.x = (stage.stageWidth / 2) - (preloader.width / 2);
    preloader.y = (stage.stageHeight / 2) - (preloader.height / 2);
}

function showProgress(event:ProgressEvent):void 
{
    var percent:Number = event.bytesLoaded / event.bytesTotal;
    preloader.percentage.text = Math.round(percent * 100) + "%";
    preloader.bar.width = 300 * percent;
}

function showContent(event:Event):void 
{
    removeChild(preloader);
    addChild(loader);
}

我正在阅读以尝试避免PROGRESS和COMPLETE事件,因为这些事件在100%的时间都不起作用。

现在我的问题是:有没有办法让我能够拥有相同的功能来加载外部SWF文件(如上所述)但没有使用PROGRESS和COMPLETE事件?

如果是这样,有人可以建议我添加/更改哪些编码吗?

感谢。

1 个答案:

答案 0 :(得分:0)

你试过定时器吗?您检查每个间隔是否完全加载了SWF。

但是,PROGRESS和COMPLETE事件应始终有效。什么在你的项目中没有用?

相关问题