目前我的预加载器出现了一些问题。
我有一个as3类网站,其代码如下:
public function Website() {
addEventListener(Event.ENTER_FRAME, PreloaderStart);
}
private function PreloaderStart(e:Event):void {
var bt:int=loaderInfo.bytesTotal;
var bl:int=loaderInfo.bytesLoaded;
trace(bl/bt);
var pt:int=Math.round(100*bl/bt);
preloaderMC.loadInfo.text="loading "+pt+"%";
if (bl==bt) {
removeEventListener(Event.ENTER_FRAME, PreloaderStart);
PreloaderOnComplete();
}
}
private function PreloaderOnComplete():void {
trace("loaded");
buildUI();
}
我把我的舞台画成黑色,当我只是运行我的flash文件时,它会跟踪“加载”,所以一切都加载好并构建了UI。但是当我通过按ctrl +两次进行模拟时,我得到一个白色的屏幕并在大约10秒后。 (我的swf为1mb,它模拟为100kbs)它立即以100%显示预加载器并加载我的UI。所以我的文字不会改变0% - > 100%,但是当一切都装满时我得到100%。
如果有人能帮助我,我会感激不尽。
此致
答案 0 :(得分:0)
使用带宽分析器查看第一帧。如果您要加载很多东西,可以在第2帧移动它们,并为第一帧留下尽可能少的东西。
如果您查看带宽分析器并模拟下载,您应该会看到预加载器或任何内容仅在加载第一帧后显示。
您可能需要将actionscript设置的导出帧设置为2,具体取决于您正在使用的类/组件。
HTH
答案 1 :(得分:0)
如果你的buildUI调用引用任何其他类(它可能会这样做),那么所有代码也将被加载到第一帧。
假设您使用的是Flash而不是Flex Builder,那么您的buildUI()调用最好放在第2帧。并执行George写的有关导出到第2帧的Actionscript的内容。