发新话题
打印

Flash 3d效果精彩实例--时空隧道

Flash 3d效果精彩实例--时空隧道


本实例模拟一个时空隧道,深遂的隧道一直通向遥远的时空,给人一种非常神秘的感觉.
( 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做出来的圆就是那种从远方逐步靠过来的圆形通道。



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题