本实例模拟一个时空隧道,深遂的隧道一直通向遥远的时空,给人一种非常神秘的感觉.
( T. \% X, @2 [* @3 |5 R: r$ b9 B8 t, s: Q2 X
! z' g L7 q. i$ n( [
" K9 R, t4 M; N' ]
H/ |3 {: x9 q7 M; [: S$ I& A
* R* ~8 ~2 G6 D2 [, e+ a 本实例最终效果如图1所示;
$ q3 L0 D; f, M: N
0 }2 E! E8 ~/ N
% O, {: @: `8 c+ k
8 Q, G0 t$ w8 c4 N9 S* X: ]! B+ A# j b. Y. @9 o, {4 {
- B: D# q% ?0 J% G' J
1 l: i% R5 ?* T0 ^9 U
) `& f0 d* S' y+ R% K% c
# _! Z( M s: `3 U图1 最终效果
. C4 O/ x% `- L3 ~
# f% n5 Y" i0 Q; z7 D6 `8 \8 m
" f% M0 ~* W3 z7 x6 p' ~# q
. n0 v- \$ F: ~, l/ m0 _$ @- ^. g
9 o- t5 `3 i" H* i, t8 }' ^8 I7 A8 f$ ]! R; x/ Q2 T, `) g
1.首先启动Flash,新建一个影片,设置影片的舞台大小为550px*400px(单位为象素),影片背景色为深绿色,颜色代码为#003300.
1 i$ _) }+ X/ p- S7 z/ F' j+ a0 Y- L9 s
6 V* r" s! h; q$ b
5 \( n: u! _/ X- [; W5 [( H8 ?1 ^# o) [5 |
! ]" t6 [2 M0 |# |9 n# q3 v- Z
[" g9 h; f, c
2.新建一个图形元件,命名为bb,进入元件的编辑区后,打开混色器面板,在填充样式下拉列表中选择填充类型为放射渐变,然后如图2所示分别设置色带下左右两个滑块的颜色:
6 Z# y' v% B8 E8 a* O+ m6 W# y$ U
& E: T! W/ P- Q2 P+ D
3 k5 J- ^2 B, I4 T) T6 `. Y: V( t8 o
' I: E# m/ b: a: y6 E1 i0 R2 {7 K/ v+ Q4 u
/ G, ?% o: W) i8 |5 G! [7 _
. Q; M6 @& B/ n' i% a* B8 ?1 _* {0 Y6 @- s! G
图2 设置填充色
1 D% b9 X4 Z3 D# Z! z: x+ E) I, V* N W& a. K2 ]
% `- Z+ C/ G* V! F# h2 T
! N: D0 [. a& W
: Y( i. L0 S2 [' R( Z! u! G$ a6 A. y' M9 S# @
其中左边滑块颜色为绿色,RGB颜色代码为0,204,153,右边滑块颜色为黑色,设置好填充色后,选择椭圆工具,按下Shift键的同时在编辑区绘制一个正圆,如图3所示;
2 T, j n: u5 h1 @& x
- U4 b: U1 z/ S5 ~: f5 o( f: e4 t. ~- J, {3 O9 _/ N( Q6 m
/ K: L9 S* s9 Z: n( j' g0 r& ^6 O) _6 c
J. X# g6 N t
0 x$ \$ f! I/ [
( Y/ i7 |3 w i2 f# S% S# ?1 [1 Q
9 H- K9 [) M/ u# @图3 绘制正圆
( a4 v4 g, u9 B2 M
9 q% K0 [ @9 x& D& m0 j
6 X8 q; @$ K7 J' Q
7 n- \7 ?/ C/ k/ b8 W1 }+ L5 @
7 |# A+ {% F8 \8 ? f3 @
) n! a# R, |9 H 3.新建一个影片剪辑元件,命名为b,进入元件的编辑区后,将元件bb从库中拖到编辑区中,然后在第15帧插入一个关键帧,将小球向左上方移动一段距离,然后在第30帧插入一个关键帧,再将小球向右下方移动一段距离,按照相同的方法分别在第45,60和75帧插入关键帧,并向不同方向移动一段距离,最后分别建立关键帧之间的运动过渡动画,这样目的是制造一种小球来回晃动的效果,时间轴如图4所示;
: t- t- I3 S8 f6 T5 J& w) A# s2 i' \3 P! s1 {( P
' Q/ O$ V; h4 k# t1 E1 F O3 m& B+ u( E6 d U) D! `
( s- z/ i% {9 N4 e
! W; F5 H; E6 S R; W4 b" l4 h7 z' m. G: n
8 @( ?* O7 D; H; D3 C" K
4 c& Q Y% \! t& y3 s6 f, m9 K3 B图4 建立运动渐变动画
4 ~& q3 V! S* V7 p. l
$ [. E- x3 G. w8 }& c9 Q/ @) ^: p C4 ^. P, V0 S9 M' v: z: r% ~# O. q
/ O% e) W+ y- m; }
2 a7 k. ~2 N% f* S
6 \. ?+ v' m, I" [ 4.回到主场景中, 首先给影片制作一个背景.打开混色器面板,在填充样式下拉列表中选择填充类型为放射渐变,然后如图5所示分别设置色带下左右两个滑块的颜色:
, b) y$ T8 d( Z; _2 f
) A, c/ o* H0 S+ \. h
! y- q. m8 i, z( B) _
; o2 u$ W7 M2 h, u$ M) K; s
: Q( f5 t$ M# V$ h" e" p% n2 {# p) e3 j2 m( ~0 j' w0 s. i
& c. E$ C' }$ @! c8 t
5 T+ f r# q# I4 ], {
6 h$ ]& a2 k7 R4 G, a3 p图5 设置填充色
8 P- `& J7 C1 A* J' z9 R
' t# h# y; n6 ]( X1 s/ \7 W
: [6 W1 ]6 v; e8 A$ ]6 G+ G: l6 ?. d0 v- c& ~- l- ^5 C
; ?: \- O" }# s0 ]: h
+ Y d% ^9 _$ |: M3 L N- R 其中左边滑块颜色为黑色,右边滑块颜色为绿色,RGB颜色代码为0,135,8.设置好填充色后,选择矩形工具,在舞台中绘制一个方形,大小稍稍超过舞台大小即可,如图6所示;
& H! q- [6 r0 | f: v0 R! h! P2 y/ d$ G9 }! T3 J9 P; b
6 E8 R! Q5 C; }& o* s0 v, X W+ i x3 \0 o- G, s; y$ {
- \+ s3 a9 r. l) a5 p1 }7 d4 K% U
" c. B8 L/ Q7 J4 Q' D
, h: L* o% a: ~( P! e R$ x4 Y6 E" r! p* y/ U$ E
图6 给影片添加背景
( Q# p. N8 V8 a! \2 o- H; d
7 t( z( r! P# C) C, Q$ {4 w5 ~: ?6 A
3 _5 K9 {! e0 {' J
' N6 x+ i$ @; b# J+ L; t
( w' B% }9 @5 _ h9 v7 L C 5.在背景层上面插入一个图层,将元件b拖到此图层,并在属性面板中设置其实例名为b0,最后给第1帧添加如下Action:
1 W7 y. S5 I1 E$ ~0 ?( j! L* g' M
, @: @' N' l* l& r1 l% ^- G8 T/ K% x! t$ q. i: m+ u- s% k
* z3 Y0 U7 Y1 |5 }/ E" F5 [( v/ _- q/ _; [0 P# }
2 ]0 P3 o2 {5 p$ a1 c9 Bd = 10;
5 e. i3 m$ l8 M5 P/ z4 G
7 U* t8 X% S- ^2 y2 z1 f8 P8 b
: J! x" a, v8 Q, S3 H9 n4 hr = 0;
0 [- Q! F& e: Q) n
7 m9 B) r7 ^' X+ _! B0 ^# i; S
c% n" C6 i" s; i/ L2 V1 }pai = 3.14/180;
2 i% Z$ W6 ?; b' _! \, M
- Z2 ~* _* Y% H! ]
0 V8 T5 N% ]6 O" zi = 0;
% ]1 r% E+ g/ `2 T% L7 ~% z6 C9 W: d {' D: {6 b( _0 i z# }
0 j, ^7 N9 f. a" l! Gdo { FLASH 5 也提供了FOR 循环
% M* q) ]0 p+ G, s+ u4 c
- ` T* ?5 }4 h6 C# y6 _
' I" [0 @+ P' n* A8 Q' ~( K# x. d8 QsetProperty ("/b" i, _xscale, i);
. \ X+ n! B. J4 o: A2 p7 ^
$ M z% S5 s8 _4 |# ?/ T6 U. M+ Q3 ^2 z4 G3 C1 s
setProperty ("/b" i, _yscale, i);
: {8 k" ~- s; Z/ ]2 D% R% m5 j# ?* L- o/ s* I* L& M( w* O3 `/ k
, d) W4 I. ^9 w. xsetProperty ("/b" i, _x, d*Math.cos (pai*r) 200);
+ }) ~/ J0 _' Q5 g
# z4 r+ L5 h) z9 d- z
- g; B. p) C3 R w1 L9 u; x
setProperty ("/b" i, _y, d*Math.sin (pai*r) 200); //利用了最基本的画圆算法
& r% n, {5 a u
1 N& ]$ C( J9 Z0 T s* n3 z! f) U8 Y/ W7 [- a3 Y7 ^& A. b6 e2 }
r = r 10;
" L/ s: A+ L' l0 @( ?2 X% @
. Y9 I S4 H6 n8 K' i
: }; c* y8 b" P3 `- ?d = d 1;
. {& o' j3 m$ l! @" G; P% H, m& a: [
, w6 Q! T4 J4 w+ _' G O( |
! `5 E: H) y! [/ N; h9 \8 v xi = i 1;
8 _2 f7 n6 p( b+ Z& ^
0 C [; ?5 f% e# Z- J
# ]6 |( V1 r$ ?1 ]+ J; z6 M- r* UduplicateMovieClip ("/b0", "b" i, i); //复制b0
( U# F8 P- A& }- U! z
/ D0 d* c1 Y$ N' J( i
- \6 }4 h; I1 B% _. ~} while (i$#@60;540);
6 e: n% v7 K1 n8 A9 I; _; D9 E3 A- ^; n! a# u
) ~% k2 s( e- x$ Y# k
, m* W, m! l% h, u r( j
# m/ o. J' u) V) W; i
3 _. f' H$ W! \: `5 ^//其中d是半径,r是角度,pai已经转换成了弧度。
% J/ ?. S" ?* {/ O3 m5 U; ]9 ?$ m6 U5 L; k5 |- s6 y9 f* C+ L
) l8 c1 ?0 A: s
) a1 J7 _4 E3 I# n
- r) u( _" V. D' b @# m
: Z/ E% v' A, d$ v 说明:首先初始化半径d和角度r和循环次数i(复制影片的个数),如果第一次进入循环,b0号movie clip 会被定义位置,然后复制出下一个处在相对于b0的第1层中的movie clip,并起名叫"b1"(千万注意表达式要用“ ”),其中用到的sin和cos前面也一定要加"Math."不然就出错了;Math.cos (pai*r) 200的200是圆心的原始位置,200这个位置大概稍靠中心了,以后的循环是这样的:后一个movie clip 总会比前一个大i个像点,名称依次是"b2,b3,b4...",圆的半径也会逐步以每次增1的速度增长,这样的action做出来的圆就是那种从远方逐步靠过来的圆形通道。