有很多朋友会发现,在Flash影片中用attachMovie()或attachSound()调出的影片剪辑或是声音,会
使loading动画失效。这是为什么呢??
原来在Flash MX及2004版本中,无论使影片剪辑还是声音,在设置了链接,选择了“为动作脚本导出”
时,Flash都会自动钩选上“在第一帧导出”这个选项。
而Flash在发布时,会将所有选择“在第一帧导出”的影片剪辑或声音先导出,比主影片第1帧的
东西还早,因此产生了两个问题:
① 假如影片剪辑或声音太大,观看的时候将出现一段长时间的空白状态,因为处于等待下载的状态中。
这时Flash在下载选择了“在第一帧导出”的影片剪辑或声音
② 主影片的头几个帧,通常都是用来制作loading的。这些“巨大”的影片剪辑或声音,却没有被loading
计算在内。它们比loading更早下载,这样便失去了loading用来保证所有东西都下载后才播放的意义。
因此,在设置链接时不要选择“在第一帧导出”。
但是,假如这样,所有用到attachMovie()或attachSound()的程序均会失效。因为Flash导出影片时,只导出
舞台上存在的东西,设置链接的影片剪辑或声音没有被导出。所以请参看以下的解决方法。
影片剪辑的解决方法上述问题的解决方法是:将影片剪辑移到舞台范围之外,或者令属性_visible=0。留意影片剪辑一定要在
attachMovie()执行时或之前出现,例如第5帧有attachMovie()程序,那么影片剪辑要放在第5帧或更早的帧中。
还要注重的是,假如影片剪辑是一段动画,那么有必要将其stop,免得这个影片剪辑或其中的AS影响主影片。
声音的解决方法声音的解决方法原理于影片剪辑的解决方法类似,只要使声音在舞台上出现,那么就会被导出。不过处理声音时要小心,
因为声音不受舞台范围影响,要避免不必要的声音在影片中发出。
将声音放在一个只有1个帧的层中,在声音属性面板中,选择“同步”项为“停止”。
留意声音一定要放在attachSound()中或之前,例如第5帧有attachSound()程序,那么声音要放在第5帧或更早的帧中。
----------------------------------------------
z.k.r
我有一个习惯:不吃软的猕猴桃。
我也有一个信念:靠自己的实力说话。