解决Flash的loading失效一例

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

最近在制作flash片头时发现一个问题,我的loading失效了?百思不得奇解,因为loading部分代码一直都用得好好的,而且每次都是复制过来改改帧数罢了。

我的loading部分代码很普通:在第35帧上的时间线上是:

total = _root.getBytesTotal();

loaded = _root.getBytesLoaded();

baifenshu = int((loaded/total)*100);

baifenbi = baifenshu+"%";

jindutiao._xscale=baifenshu;

在36帧上的时间线上代码是:

if (baifenshu == 100) {

gotoAndPlay ("loadEnd");//loadEnd标签是在37帧上

} else {

gotoAndPlay ("loadStart");//loadStart标签是在35帧上

}

为了让浏览都等待时不要太枯燥,所以先等待过程中是有些音乐,有一个是设成"开始、循环"(第二帧开始的),另一个是设成"数据流、重复一次"(第九帧开始的),理论上是会在在loadin完之前会不断在35、36帧上循环检测。然而我出现的情况却是(在flash里的摸拟下载里观察到的)已经load超过35帧并到达几百帧(近50%)时当前帧并没有在35-36帧里循环,而是停在第九帧上不动了,大约已loading的百分比达到65%左右才向前播放并停在35与36帧间检测。这新让我的loadin大打节扣。

经将35帧前的元件、时间帧上的动画、层一个个册除差的方法后来得知罪魁祸首就是第9帧里里设置成"数据流"的声音,将其改成"事件"问题就得已经解决,但为什么"数据流"的声音会影响到loading失灵呢?本人愚味,通过闪吧版主"猫大哥"的QQ精彩解说后终于明白是:如果是设成"数据流",swf就必须缓冲够设置的秒数或是说足够的帧序列.默认缓冲秒数为5.那么播放这个流声音就要缓冲5*30(30是我flash的帖频)个帧序列才能播放。(哪怕你的声单很小,只有0.0001K也是如此)

最好很感谢猫大哥的帮助

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有