我创建了以下预加载器,保存为“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事件?
如果是这样,有人可以建议我添加/更改哪些编码吗?
感谢。
答案 0 :(得分:0)
你试过定时器吗?您检查每个间隔是否完全加载了SWF。
但是,PROGRESS和COMPLETE事件应始终有效。什么在你的项目中没有用?