用Flash制作浮动面板

网络与通信

稍稍熟悉Windows的朋友对于浮动面板一定不会陌生,浮动面板可以在屏幕上自由拖动,可以最大化和最小化,并且在面板上有一些选项供选择,以实现一些特殊的功能。在Flash中,巧妙使用按钮和Actions语句也可以制作出这种类似于浮动面板的效果,具体“招式”请听我慢慢道来……

一、实现效果

当一个浮动面板出现在动画窗口上时,按住面板的上部可以自由拖动面板;最小化按钮可使面板最小化,最大化则可还原面板;在面板上还有一些按钮可用于对动画的播放实现控制。

二、准备工作

1、启动Flash后,新建一个名为“浮动面板”的文件,按“Ctrl+M”打开Movie Properties对话框,设定场景为320×240;按“Ctrl+F8”键在Name中输入“动画”,选择“Movieclip”后单击OK进入动画编辑状态,任意制作一个动画(可自由发挥)以备后用。
2、按“Ctrl+F8”键在Name中输入“拖动条”,选择“Button”单击OK进入按钮编辑状态,在Up帧绘制一个拖动条((图1)),分别在Over、Down、Hit帧按F6键插入关键帧;利用同样的方法再制作出“最大化”和“最小化”按钮((图1))。

图1
图1

3、“Ctrl+F8”键,在Name中输入“面板”,选择“Movieclip”后单击OK进入动画编辑状态,绘制一个矩形作为面板;单击“Window→Command Libraries→Buttons”打开系统自带的按钮库,将Circle (VCR) Button set中的一些按钮拖放到面板上((图2))。
图2
图2

三、组装面板

1、“Ctrl+F8”键在Name中输入“浮动面板”,选择“Movieclip”后单击OK进入动画编辑状态,在第1帧按F6键插入关键帧,按“Ctrl+L”键打开Library库,将其中的“拖动条”按钮、“最小化”按钮、“面板”影片拖放到场景中组装浮动面板的最大化形状((图3)),再为该帧加上“stop”语句。

图3
图3

2、第2帧按F6键插入关键帧,将第2帧的“最小化”按钮、“面板”影片删除,然后将Library库中的“最大化”按钮拖放在“最小化”按钮的位置,这样就完成了浮动面板的两种不同状态的制作。
3、第1帧和第2帧中的“拖动条按钮”的按钮加上如下Actions语句:
on (press) {
startDrag ("/mianban", false, 0, 0, 320, 240);
//移动面板并控制面板的移动范围。
}
on (release) {
stopDrag ();
}
//这里的mianban为影片“浮动面板”的Instance name,后面将会进行设定。
为第1帧中的“最小化”按钮加上如下Actions语句:
on (release) {
gotoAndStop (2);
}
//单击该按钮时,跳转到第2帧中浮动面板的最小化状态。
为第2帧中的“最大化”按钮加上如下Actions语句:
on (release) {
gotoAndStop (1);
}
//单击该按钮时,跳转到第1帧中浮动面板的最大化状态。
⒋单击Scene 1回到场景中,将Library库中刚刚制作的影片“浮动面板”拖放到场景中,确认选中影片,单击鼠标右键选择“Panels→Instance”打开Instance面板,在name中输入“mianban”;按“Ctrl+Enter”键观看效果可以发现浮动面板的主要功能已经实现。

四、面板的控制功能

下面为浮动面板中的一些按钮加上Actions语句,以实现对影片的控制。
1、Library库中的影片“动画”拖放到场景的第1帧中,注意它与浮动面板是出于同一场景同一层同一帧,将影片“动画”的Instance name设为“donghua”(可参照上面具体操作)。
2、击Library库中的影片“面板”,从左往右为5个按钮加上Actions语句,以实现对动画的播放控制(快退、播放、暂停、停止、快进):
第1个按钮:
on (release) {
tellTarget ("/donghua") {
gotoAndStop (_currentframe-5);
}
}
//实现被控制动画的快退功能,_currentframe表示当前帧。
第2个按钮:
on (release) {
tellTarget ("/donghua") {
play ();
}
}
//让被控制动画从当前帧播放。
第3个按钮:
on (release) {
tellTarget ("/donghua") {
stop ();
}
}
//让被控制动画停止在当前帧。
第4个按钮:
on (release) {
fscommand ("quit");
}
//当动画为swf或exe文件时,退出动画播放器。
第5个按钮:
on (release) {
tellTarget ("/donghua") {
gotoAndStop (_currentframe+5);
}
}
//实现被控制动画的快退功能。
最后,将动画导出为swf或exe文件就可以欣赏自己的创意了,怎么样?感觉不错吧!稍稍修改本程序就可以将程序运用到你的动画中,相信会让你的杰作锦上添花,增色不少。