flash提供的linkage给我们的编程带来了极大的便利, 我们甚至可以主场景里面不放如何元素,所有的元素都放在库中,然后用action来组织调用.但是,在默认的方式下,flash必须将linkage的所有元素都
下载完毕以后,才开始执行第一帧的action,这样就造成loading的失效. 怎么解决这个难题呢?
8 J/ l/ U- y0 U' f4 v, P0 d* L. h U1 B
首先,对于库中所有的linkage,将 export in first这个选项去掉(如图),
' u% [# F2 a# L2 t- {$ M3 I' M+ j8 W
( O1 F6 D2 {1 }5 r+ M1 d: J' Y/ S0 M: J" i1 @7 Z2 Q
/ i* f+ G1 o1 F E4 ^9 T" m" N+ {
这样可以使linkage的元素不在第一帧前输出.
8 [6 O, t' p/ I9 r, _% N2 J7 {. ?1 `
8 \" d! [: e& W/ |: |
其次,既然告诉了flash不要在第一帧前输出这些linkage元素,那么还必须有个操作告诉flash在什么时候输出这些元素. 具体做法是,在flash的loading和主体之间,放上一个mc,这个mc的第一帧是空帧,加动作stop();第二帧则将所有该输出的linkage都拖放在里面.由mc的工作原理可以知道,这个mc将停止在第一个空帧的位置,第二帧的所有东西都不会显示在场景中. 本质来讲,这个mc的作用,只是告诉flash, 让flash在loading和主体之间,载入所有的linkage元素.
9 p/ n9 k% D+ B6 [; M7 W
# L6 {8 r. b$ b& c 完成这两步,你就会发现flash第一帧的载入数据量将大大减少,loading将变得流畅实用,赶紧试试吧。