|
有的时候,你可能需要创建一种比按钮更为复杂的互动效果,例如当鼠标从某张图片上划过时,不但这张图片本身发生变化,在页面其他位置的另一张图片也发生变化,按钮编辑器对此无能为力,我们需要通过另外的途径来解决。学习这一节你会需要用到以前按钮、导航条、热区和切割的知识,如果你对这些概念还不是很了解,那么就先回去复习一下。
6 C9 Q+ |! C# I9 X# \ 首先,我们来做一个简单翻转(Simple Rollovers)的按钮,虽然我们可以使用按钮编辑器很轻松的做出相同的效果,但是我还是建议你们用另一种方法来创建它,因为以后的复杂交互效果也要用这种方法来创建。
3 Z) U2 Z( ~; t5 y) p% W 先在画板上画一个按钮的形状,如图:
4 O: {7 v5 _% Y* Z8 H; Q. B% f9 E
8 p0 G b, z( Y% o# l9 R
4 S# I/ y! Q, m3 S' V* k8 v
选择Insert->Slice,在网络层(Web Layer)上建立一个和按钮大小相同的切割。 * H; o7 U# C6 C2 b
; g6 |& u5 ]: C! m 2 }9 r: p c6 J# @3 x( Z; F
4 K- o e7 W, C
打开帧面版(Window->Frames),你会看到当前只有一帧,点击New Frame手工添加一帧,并使这帧处于被选中的状态。' g+ f% ^5 k$ o" M3 v# X
+ i8 {8 ~, ]5 I2 M7 e+ V/ q3 s1 o

# [+ @/ A2 ^3 W; ~" x( { . ~7 ?( J* q7 n$ \, \# m8 R
在这帧上画另一个按钮,因为切割的边缘有吸附功能,所以很容易画出和第一帧一样大小的按钮,或者直接拷贝第一帧上的图形到第二帧再修改它的属性。为了区别这2帧,我在这里使用不同的颜色对它进行填充。. |& ^" m1 d7 ]& L% n
# @3 I+ x) {" H1 @9 k- O# `
% x7 f+ R# G* k. e! t
: c Z, v) g& D3 ]
打开Behaviors面版(Windows->Behaviors),点击左上角的加号在弹出的菜单里选择Simple Rollovers,这样一个简单的翻转效果就创建好了,预览一下。/ d% D1 I6 |% H ^
: L# Q# m* O# H' M
4 ?0 K1 m7 @$ s% _+ o B9 f' L

( c& W5 Z* B) h1 R, K% F
% L! V8 S+ y4 z' X7 R$ |) @6 e' j3 ?$ S) ^ K1 |

' q6 n3 ^/ Z& L, R4 ^% w1 D& I3 i$ W( x5 o$ p3 e, K5 I
6 |: F+ Z9 W1 `4 v

3 Y+ A6 p6 R- T" L( d/ k5 X- R0 X# Z: Q; }- n6 X- L
" p3 _9 s* X z+ W
: M5 U! m2 w' g3 Y3 _
* R! }7 A3 x: g7 N k U: P

2 z, O9 D& T9 h+ G8 `0 p1 s: f! ^2 I: E# I
5 O! |+ N6 [9 [3 g7 C
8 e2 v" |8 Y* t0 L - Z8 U2 N* P) w# p# [6 J
1 G8 i# X9 W' d4 p
! Z* M4 I0 E+ e: h
6 D' `; d, J) T0 ^7 v " y! ]! T+ x0 b, b- D/ ~/ e
5 B* \2 H$ k% _: j$ l: |5 W+ y& Q5 \ q2 q0 V% p
! | n0 _9 n$ S- ^1 k, F! M3 [4 Y# ]9 i
& h9 J5 g$ h5 V$ z* @& q8 Y4 N! O, h7 s* h( @% `

9 T0 Q: _ x6 V+ W
% t) M0 c U! Q) D
% [( t$ m( l! j- R! d k0 n4 c* U2 W$ p! A- F2 I
% i2 ^2 E3 X( z
& |5 J( Y( b1 ?, c, R" w5 ]6 r& f# |# Y+ B8 z5 n
: x8 F3 X- f) ?5 b- y0 h( T
N) D8 y2 E+ @: K3 I% [" F7 G, p
m' t0 _2 M( L5 x?
7 {' a# m* m$ J 说到Behaviors有必要说明一下相关的概念:用一个简单的公式来表达就是行为(Behaviors)=事件(Events)+动作(Actions),即一个行为需要先由事件来触发,触发后完成一系列动作,这样就是一个完整的行为。
& B# ]+ Q$ c. t7 ~$ @. O7 | 刚才大家在Behaviors面版的弹出菜单里也看到了,除了Simple Rollovers之外还有其他的交互动作,他们分别是:
+ o5 n: j" e5 t
. f0 c& A' A" Y( a8 l- s) O, O( a9 C7 q9 v2 K4 Z
8 T l1 J5 |: @6 s' o
* v+ j1 M+ d3 l+ M+ M4 l$ x% a7 CSimple Rollover:简单翻转,使用第一帧做为Up的图象,使用第二帧作为Over的图象,并且使用相同的切割 ,事实上简单翻转是交换图的一种特殊形式。) t4 V4 \+ f) L- A# b, x x7 X* ?& m
& T% v# q7 Y. [( ~+ ?: l: x4 c0 d5 y; f" J( D1 q
7 ]. T i0 O/ ]$ @
. M( W) I8 x( X& g9 g
Swap Image:交换图,当鼠标触发了一些事件时,使用其他帧上的图象替换当前的图象。
, S/ O. f8 o, a2 I' M% r. X | V
; n+ j$ t" w, i! t6 _6 J3 D
1 s' a, \/ k* E. e3 @ + S' b" ?0 C# p r V) K8 W
; N6 _# j' W& a4 U. N2 I' l3 g+ f" {: }Swap Image Restore:交换图还原,当鼠标离开触发事件的区域后,还原为默认的图象。 9 g/ J: w, D* G. e8 f1 p( E. I/ g
2 M. S+ x, G L; S# D5 J
' }5 ^8 p& h2 M, ^' \1 G

; y; [4 Q* i$ q: \, R" Z+ b3 U
; t% c3 C# u- L& NSet Nav Bar Image:设置为导航条图片,定义一个切割为导航条的一部分,事实上设置为导航条图片就是以下3中行为的组合(Nav Bar Over, Nav Bar Down, Nav Bar Restore)
N$ E% T9 O2 Y: p4 Q
1 ~. c) |& c& F, }. ^& O) H: k! b% D; c4 K, ^' B2 ]
$ U. ~' W) t8 E# @9 f9 a$ e! W
l' ?: z5 c4 j+ L$ v3 jNav Bar Over:当一个切割作为导航条的一部分时处于Over(鼠标经过)的状态。 / |/ M7 R) l, _) e: G
' ?9 b& b, r2 C" W' p. ]
2 p F" _& Y/ q! w- m5 u9 q
$ E9 X4 L' g% |" b$ A, y7 \9 u3 j
' ~( b; d6 P/ ~. U0 x YNav Bar Down:当一个切割作为导航条的一部分时处于Down(鼠标点击)的状态。 8 G! e% ~& j0 a
( A: {8 ~: V3 A1 ^8 B% o# q
* m" U( V7 _1 s2 J4 L& R
/ M7 _7 I( G* A" D. c8 h* Y( ]
2 r X$ o+ S: Y! ?- M& u$ q! F
Nav Bar Restore:将导航条其他部分的切割还原到Up(默认)的状态。 5 M0 i" Q4 P, e2 W6 y% w% y1 E
( r, q( j& g/ ?" r# V1 A
# s: p0 _5 H) o* X3 }8 Q& d4 q8 ^ 0 _- M) Y0 O3 o
}* @! Y0 I' z, R' C* _, N
Set Pop-Up Menu:创建弹出式菜单。 7 Q$ K: V( G# @7 C' Y
3 ?" S2 B) S( |6 g% s4 n! c# k9 H: W! c9 Z% l7 T6 A. @7 B* j( c
# K% C. k' [% G8 o' O
/ | e; C7 u: x& I \0 ^Set Text of Status Bar:在浏览器的状态栏里显示指定的文字。
; M5 \3 c l- w. Y0 Q/ j; F 注意:弹出式菜单可以很好的被插入到Dreamweaver中,但是必须在Fireworks中完成对它的编辑。
* ]- h, V, p( |; j1 ?3 Q& t8 Z

7 u$ n4 J! E4 C2 o$ d 0 ?8 t. s/ ]4 ]& Q* E" e* |
选择了动作(Actions)之后就可以在Behaviors面版中修改触发的事件。
6 z+ m# h5 m6 I, v
. P/ x" i" d1 f8 g; m! J
! G/ Z/ p# G( {. o, O 8 O* I- O2 [# j6 I7 Z3 c
这一节就先到这儿,请接着看下一节。 |
|