目前我的预加载器有一些问题。
我有一个包含以下代码的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+ enter进行模拟时,我得到一个白屏,大约10秒后。(我的swf是1mb,它以100KB模拟)它立即以100%的速度显示预加载器,并加载我的UI。所以我的文本不会从0% -> 100%更改,但当所有内容都加载时,我只会得到100%。
如果有人能帮助我,我将不胜感激。
问候
发布于 2009-12-22 20:47:45
使用带宽分析器查看第一帧。如果你有很多东西要加载,你可能会在第二帧移动它们,并尽可能少的东西留到第一帧。
如果你查看带宽分析器并模拟下载,你应该会看到预加载器或任何内容只有在第一帧加载后才会显示。
您可能需要将actionscript设置的导出帧设置为2,具体取决于您使用的类/组件。
HTH
发布于 2009-12-22 22:25:33
如果您的buildUI调用引用了任何其他类(它可能确实引用了),则所有这些代码也将在第一个帧中加载。
假设你使用的是Flash而不是Flex Builder,那么你的buildUI()调用最好放在第2帧,然后按照乔治写的关于导出到第2帧的动作脚本来做。
https://stackoverflow.com/questions/1946137
复制相似问题