发新话题
打印

[方法技巧] flash as基础

flash as基础

做过Flash动画的Flash爱好者们都知道,要做好一个Flash动画,AS是必不可少的,即使只是很简单的几句代码也能起到整个Flash画龙点睛的作用。这里我只简单的介绍一下AS的基本常识。) ?3 i7 q- T7 ?- B( F
首先我们要了解AS要写在什么地方,什么时候AS会被触发执行。" F7 G/ C5 m. H" R9 A; V
1、帧:
) H6 e0 G' E& x6 ~写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。常见的例子有在影片结尾的帧写上 stop() 等。操作方法就是点选关键帧,然后打开AS面板。+ j/ {" Z+ {; U; L7 c' R
2、按钮:
: _+ ]9 k( R& z; N! X7 }0 ]不同于帧上面的AS,按钮上面的AS是要有触发条件的。要把AS写在按钮上,操作方法是点选目标按钮,然后打开AS面板。举个例子能说的更明白。) q  H8 W9 Y6 _1 b# A2 ?8 V
假设有一个动画,要让它在播放完同时停止,那么,你要做的就是在这个动画的最后一帧写AS& o" ~2 o+ B; J. s0 k  v

6 v9 m4 X; V5 B! A/ h+ w$ }
% X8 Z5 ], a( A5 A! [* M" \$ Sstop();
6 T6 L$ s& `% O) e" J% x+ e8 A9 P4 V! _/ i  l' R
再假设有个按钮,效果是按下按钮后停止播放,那么步骤如下。4 v. d, z7 e) L/ K8 ^
做一个按钮,放到主场景,点选按钮,然后打开AS面板。现在如果也在按钮上写
! R; Q; ~9 q; d' a  [# w
* g0 J7 [% Q' o; Z! D  a# U
0 @4 g) U# `" M6 Nstop();9 x8 G3 ~; q9 H8 I" g; Z

8 {( ]/ @0 n+ M. {6 p+ p7 B- X那么,输出的时候就会提示错误。正确的应该这样写
$ B( [% c) y) _/ {: }4 ]
+ Q" Z) H+ t$ r6 i' Y( }" B: a  f7 n5 o' ?) m
on(release){/ _4 N4 {! \. V
stop();. k9 x2 s2 I; |8 m9 r
}
- p" o7 C5 H7 C4 s
" {7 U+ O1 v. p" z! Y7 O2 X8 H. f* S这里要比帧的动画多这些代码: on(release){} , 整个代码翻译过来就是:
) i3 Q* W8 W3 |, I- l+ q( r# }
6 h: {. K( P: H* F9 X6 v
' x# g8 j/ N! d6 O/ b- x当(松开){" l" t. J# v4 u! |. {0 \: e( E1 ?
停止
  H# ~: \5 z  A2 n0 ~8 S}* Q# b( S6 c; w/ {, K

& z0 |+ {, r/ P* @% Y, l# K红色的代码表示鼠标的触发事件事件之一,这里用的是 release 松开,按钮的常用事件:, H* d( j$ f1 |; W( F# y3 T* D
release 松开
5 u* Q- [+ H1 K2 y2 KreleaseOutside 在按钮外面松开
  a! q  R0 k7 _, ~press 按下
% T* C4 E9 [& Z: ?' HrollOver 鼠标进入按钮的感应区8 `/ D9 A3 g  {% G! w. n# a
rollOut 鼠标离开按钮的感应区+ d# C  h4 y- [; l/ p- j. f
现在很明确了:写在按钮上面的AS一定就是这种格式的:
1 j0 l: G/ `# y0 V0 F6 J& hon(事件){要执行的代码}
0 f! m. _& U0 Z' T) d3、MC(电影剪辑)
2 K2 e" e% e  T如果你看懂了上面的内容,那么写在MC上面的AS和写在按钮上的大同小异。操作方法就是点选MC,然后打开AS面板。看个例子
% Y' v; j/ R3 m) p
+ L- c$ e2 ^! ^1 ^, s- c
) E8 L" s' D8 r: ]" Q- i; g+ k& _onClipEvent(load){% Q5 U. n$ \' u& U* q1 \6 g2 T
stop();
6 d$ l+ M0 a+ `( ?, z$ {}
+ O: i7 M- l( v5 C. t( {
! t: r# B- t; L' ]: \同样,MC需要一个事件来触发AS的执行。翻译这段代码就是& w: {3 {2 q$ D7 e

+ C; q3 I1 [3 b% R( `7 @6 ^
% n9 M' {' V3 O当剪辑(载入){$ G# d, r& G) q2 \1 e  V, \: B0 t
停止
5 j, g" i4 f* Z6 m}3 L" I- g! q" b
- r# V# N0 `" S* k
红色代码同样表示一个事件。MC的事件有下面这些:. E" D$ ^0 A) [% \" n# w9 N9 W7 c
load 载入,当MC出现的时候执行。也就是除非卸载这个MC,否则load事件内的代码只执行一次。
8 c1 e: A) D" J1 R+ bunload 卸载,当MC卸载的时候执行。2 k' R& a1 W3 r( s6 g+ z- ]) u; G* t
enterFrame 存在的每个帧。在MC存在的每个帧都要执行一次代码。如果你的场景有100个帧,有个MC从41帧开始出现到100帧才消失,那么这个MC上面的代码执行了60次。
9 b: r# @$ Y# {# JmouseDown 按下鼠标,在场景内任何地方都算。和按钮不一样的地方。7 V( Z* W, ?' w9 j) f
mouseMove 移动鼠标,只要移动鼠标就执行代码
! G7 ?$ v9 J& p& L9 C# p' imouseUp 松开鼠标; r4 A6 r5 Z( p& o% n7 @5 a
同样你要明确:写在MC上的代码一定总是这种格式:! R6 u$ _+ z2 ^& V; ^
onClipEvent(事件){代码}( Z( A! m3 N  W- N: |! R8 ]% L
看到这里,如果你明白的写在 帧、按钮、MC上的代码有什么不一样,任务就算完成了。
发新话题