Flash 如何判断主swf何时满载?
正如我所了解的那样,Flash流式处理你的.swf文件,也就是说,即使只加载了前几帧,它也可以开始播放文件 通常,在加载外部.swf时,您只需将一个处理程序注册到Loader或URLLoader类的完整事件中,就可以了。 示例(省略异常处理等): 但是,如果.swf文件是“main”swf,即从html引用的文件,则我只能访问root.loaderInfo属性,即:Flash 如何判断主swf何时满载?,flash,actionscript-3,adobe,Flash,Actionscript 3,Adobe,正如我所了解的那样,Flash流式处理你的.swf文件,也就是说,即使只加载了前几帧,它也可以开始播放文件 通常,在加载外部.swf时,您只需将一个处理程序注册到Loader或URLLoader类的完整事件中,就可以了。 示例(省略异常处理等): 但是,如果.swf文件是“main”swf,即从html引用的文件,则我只能访问root.loaderInfo属性,即: root.loaderInfo.loader.addEventListener(Event.COMPLETE, completeH
root.loaderInfo.loader.addEventListener(Event.COMPLETE, completeHandler);
如果加载对象未充分加载以提供此信息,则显示错误
解决方法是使用计时器并轮询bytesLoaded属性,如下所示:
var Poller:Timer = new Timer(500, 0);
Poller.addEventListener(TimerEvent.TIMER, waitForLoad);
var e:Event;
waitForLoad(e);
function waitForLoad(event:Event):void {
if (root.loaderInfo.bytesLoaded < root.loaderInfo.bytesTotal) {
if (!Poller.running) Poller.start();
return;
} else {
Poller.stop();
completeHandler(event);
}
}
var轮询器:计时器=新计时器(500,0);
Poller.addEventListener(TimerEvent.TIMER,waitForLoad);
变量e:事件;
等待加载(e);
函数waitForLoad(事件:事件):void{
if(root.loaderInfo.bytesLoaded
必须有比这更好的解决办法。理想情况下,我可以将事件处理程序completeHandler注册到event.COMPLETE,注册到根对象或阶段对象的某些属性,当文件完全加载时,它确实会抛出此事件。。。
有人知道那是什么财产吗
干杯,佐尔坦
注意:我使用的是AdobeFlashCS3,而不是
root.loaderInfo.loader.addEventListener(Event.COMPLETE, completeHandler);
召唤
从document类的构造函数中。在AS2中,请尝试以下代码。第一帧显示加载进度,第三帧显示主要内容。 此代码位于ActionScript 2.0参考(getBytesLoaded)中
if(此.\u框架已加载)
root.loaderInfo.loader.addEventListener(Event.COMPLETE, completeHandler);
this.loaderInfo.addEventListener(Event.COMPLETE, completeHandler);
if (this._framesloaded<this._totalframes) {
this.gotoAndPlay(1);
} else {
this.gotoAndStop(3);
}