如何在Flash的Bandwidth Profiler中找到大小的来源?

时间:2012-02-21 07:41:03

标签: flash actionscript-3 preloader

我正在开发一个Flash CS5 / AS3预加载器,带宽分析器告诉我我的第1帧大小很大 - 大约850kb。第2帧是128kb。这会在大量装载过程中产生白色屏幕,然后是短暂的,现在不必要的预加载器,然后是swf的其余部分。

我有两个框架的设置,第一个是带有以下代码的预加载器:

stop();

addEventListener(Event.ENTER_FRAME, preLoad)

function preLoad(event:Event):void{
var bytestoLoad:Number = loaderInfo.bytesTotal;
var numberLoaded:Number = loaderInfo.bytesLoaded;
if (bytestoLoad == numberLoaded){
    removeEventListener(Event.ENTER_FRAME, preLoad)
    gotoAndStop(2);
} else {
    preLoaderInst.preLoaderFill.scaleX = numberLoaded/bytestoLoad;
    preLoaderInst.bytesPercent.text = Math.floor(numberLoaded/bytestoLoad*100) + "%";
}
}

第2帧只有:     stop();

与fla关联的.as文件有很多其他信息,一个完整的游戏。如果此处有更多详细信息,请与我们联系。

我已经浏览了我的库和所有带有Linkage的符号,取消选中“在第1帧中导出”。预加载器也很小,只有文本框和形状。

如何在第1帧中获取更多关于它的加载细节,以便将其移动到第2帧?非常感谢您的时间!

2 个答案:

答案 0 :(得分:0)

我对你的fla文件一无所知,但是如果你的库中有为AS导出的对象。他们有一个属性“第1帧出口”。这将使您的所有对象在第一帧加载。

希望它有所帮助,我更喜​​欢制作另一个加载main的swf文件。这将解决您的问题。取消选中“在第1帧中导出”对您没有多大帮助。 你的方式听起来像activeden preloaders,这不是最好的方式。

答案 1 :(得分:0)

您应该将第一帧留空,只需在其中添加预加载项。

在库中,检查为actionscript导出的所有符号。您必须取消选中“在第一帧导出”复选框。

此时你的符号根本不会在swf中导出,除非你把它们放在舞台上的某个地方。

我的建议是在第2帧上放置每个符号的一个实例,并通过直接跳到加载器中的第3帧跳过此帧:gotoAndStop(3);

根据建议,你应该考虑使用另一个swf加载主swf。