音乐播放器
实例说明
制作在同一电影中控制多个背景音效的播放器。
有关知识
导入点阵图, tell atrget和stop all sounds命令的应用,控制音效的循环播放。
制作过程
步骤1:打开Flash,新建电影文件,设置尺寸:235px*100px,背景颜色为黑色(#000000)。 截取winamp的面板图,用图像工具处理后导入Flash中,并将其转换为图像符号bg,在场景中新建bg层,帧长度为4,将图像符号bg放置在bg层中作为背景,使用缩放工具,将图像bg大小调整到和舞台大小相同。如图1。
图1 截取winamp面板
步骤2:新建电影片段music,制作面板的音效输出指示器,当音效打开时,指示器小灯闪烁;当音效关闭时,指示器小灯关闭。具体做法不再详述,大家可参考电影源程序。如图2所示。
步骤3:新建隐形按钮bu,在状态over处设置一个音效,在hit帧绘制一个大小和面板播放按钮相同的实心矩形,如图3所示。
步骤4:新建电影片段mv-text,建立三个关键帧,Actions都设置为停止(stop),在三个帧处分别用文字工具写入1.track1.wav,2.track2.wav,3.track3.wav,调整文字大小和字体,分别表示三个背景音效的名称。如图4所示。
图2 音效指示器
图3 有音效的隐形按钮
图4 电影片段mv-text
步骤5:截取winamp面板播放进度指示器 并导入Flash中。新建电影片段mv-amp,第1帧为空白关键帧,Actions设置为停止(stop),第2帧设置为关键帧,将图像
放置在工作区内,按F6在第50帧处建立关键帧,将
水平移动大约190px,如图5所示。
图5 移动的滑标
第50帧的Actions设置为:
gotoAndPlay (2);
//跳至并播放帧(2)
在Frame面板将第2帧与第50帧之间设置为移动渐变(Motion),如图6所示。
图6 设置移动渐变
步骤6:导入3段音效作为背景音效,分别命名为1,2,3。新建电影片段sound1,设置帧长度大约100帧。在第1帧处的Actions设置为stop (停止),在第5帧处通过Sound面板设置音效,如图7所示。
图7 设置音效
同样,新建电影片段sound2, sound3设置方法同sound1, 分别控制背景音效2, 3的播放。
步骤7:新建只有两个帧的电影片段mv-play1,第1帧设置为空白帧,Actions设置为stop,第2帧设置为关键帧,将按钮bu放置在工作区内,对齐中心点,Actions设置为stop,为了看清效果,暂时将背景设置为白色,如图8所示。
同样,新建电影片段mv-play2和mv-play3,设置方法同mv-play1。
步骤8:新建只有两个帧的电影片段mv-stop1,第1帧的Actions设置为stop,将按钮bu放置在工作区和中心点对齐;第2帧设置为空白帧,Actions设置为stop,如图9所示。
同样,新建电影片段mv-stop2和mv-stop3,设置方法同上。
步骤9:回到场景1中,新建层movie,将电影片段music放置在层中,和bg的音效输出指示器位置对齐,在属性面板中将其命名为music,用它来显示背景音效的开关状态。如图10所示。
图8 电影片段mv-play1
图9 电影片段mv-stop1
图10 命名电影片段music
步骤10:新建层sound,将电影片段sound1,sound2,sound3放置在层中,并将其分别命名为sound1,sound2和sound3。
步骤11:新建层amp,将电影片段mv-amp放置在层中,在Instance面板中将其命名为amp,并和bg的原播放进度指示器位置对齐。
步骤12:新建层text,将电影片段mv-text放置在层中,在Instance面板中命名为text,并和bg的原曲目指示框对齐,用来指示目前正在播放/停止的曲目。如图11所示。
图11 显示目前正在播放/停止的曲目
步骤13:新建层Actions,第2,3,4帧分别设置为空白关键帧,Actions分别为:
第2帧:
stop ();
stopAllSounds ();
tellTarget ("/sound1") {
gotoAndPlay (5);
}
tellTarget ("/music") {
gotoAndPlay ("track1");
}
tellTarget ("/amp") {
gotoAndPlay (2);
}
|
停止
停止所有声音
告知目标 (“/sound1”)
跳至并播放帧 (5)
告知目标 (“/music”)
跳至并播放标签 (“track1”)
告知目标 (“/amp”)
跳至并播放帧 (2)
---|---
第3帧:
stop ();
stopAllSounds ();
tellTarget ("/music") {
gotoAndPlay ("track2");
}
tellTarget ("/sound2") {
gotoAndPlay (5);
}
tellTarget ("/amp") {
gotoAndPlay (2);
}
|
停止
停止所有声音
告知目标 (“/music”)
跳至并播放标签 (“track2”)
告知目标 (“/sound2”)
跳至并播放帧 (5)
告知目标 (“/amp”)
跳至并播放帧 (2)
---|---
第4帧:
stop ();
stopAllSounds ();
tellTarget ("/music") {
gotoAndPlay ("track3");
}
tellTarget ("/sound3") {
gotoAndPlay (5);
}
tellTarget ("/amp") {
gotoAndPlay (2);
}
|
停止
停止所有声音
告知目标 (“/music”)
跳至并播放标签 (“track3”)
告知目标 (“/sound3”)
跳至并播放帧 (5)
告知目标 (“/amp”)
跳至并播放帧 (2)
---|---
步骤14:新建play层,在第2帧处建立关键帧,将电影片段mv-play1放置在层中,并和背景中的播放键对齐,在Instance面板中将其命名为play1。如图12所示。
图12 将电影片段play1放入场景并命名
同样,在第3,4帧处建立关键帧,分别将电影片段mv-play2和mv-play3放置在层中并命名为play2和play3。
步骤15:新建stop层,在第2帧处建立关键帧,将电影片段mv-stop1放置在层中,并和bg的停止键对齐,在Instance面板中将其命名为stop1。 如图13所示。
图13 将电影片段stop1放入场景并命名
同样,在第3,4帧处建立关键帧,分别将电影片段mv-stop2和mv-stop3放置在层中并命名为stop2和stop3。
步骤16:新建pre&next层,在第2帧处建立关键帧,将按钮bu放置在层中,并和背景上的前进键对齐,如图14所示。
设定按钮的Actions为:
on (release) {
nextFrame ();
tellTarget ("/text") {
gotoAndStop (2);
}
}
|
当鼠标放开
跳至下一帧
告知目标 (“/text”)
跳至并停止帧 (2)
---|---
图14 设置按钮bu的Actions
在第3帧处建立关键帧,放置两个按钮bu,分别和背景上的后退键,前进键对齐,设置Action分别为:
on (release) {
prevFrame ();
tellTarget ("/text") {
gotoAndStop (1);
}
}
|
当鼠标放开
跳至上一帧
告知目标 (“/text”)
跳至并停止帧 (1)
---|---
on (release) {
nextFrame ();
tellTarget ("/text") {
gotoAndStop (3);
}
}
|
当鼠标放开
跳至下一帧
告知目标 (“/text”)
跳至并停止帧 (3)
---|---
步骤17:设置电影片段mv-play1的Actions:
在第2关键帧处bu按钮的Actions设置如下:
on (release) {
tellTarget ("../music") {
gotoAndPlay ("track1");
}
tellTarget ("../sound1") {
gotoAndPlay (5);
}
tellTarget ("../stop1") {
gotoAndStop (1);
}
tellTarget ("../amp") {
gotoAndPlay (2);
}
gotoAndStop (1);
}
|
当鼠标放开
告知目标 (“../music”)
跳至并播放标签 (“track1”)
告知目标 (“../sound1”)
跳至并播放帧 (5)
告知目标 (“../stop1”)
跳至并停止帧 (1)
告知目标 (“../amp”)
跳至并播放帧 (2)
跳至并停止帧 (1)
---|---
同样,设置电影片段mv-play2第2帧处bu按钮的Actions如下:
on (release) {
tellTarget ("../music") {
gotoAndPlay ("track2");
}
tellTarget ("../sound2") {
gotoAndPlay (5);
}
tellTarget ("../stop2") {
gotoAndStop (1);
}
tellTarget ("../amp") {
gotoAndPlay (2);
}
gotoAndStop (1);
}
|
当鼠标放开
告知目标 (“../music”)
跳至并播放标签 (“track2”)
告知目标 (“../sound2”)
跳至并播放帧 (5)
告知目标 (“../stop2”)
跳至并停止帧 (1)
告知目标 (“../amp”)
跳至并播放帧 (2)
跳至并停止帧 (1)
---|---
设置电影片段mv-play3第2帧处bu按钮的Actions如下:
on (release) {
tellTarget ("../music") {
gotoAndPlay ("track3");
}
tellTarget ("../sound3") {
gotoAndPlay (5);
}
tellTarget ("../stop3") {
gotoAndStop (1);
}
tellTarget ("../amp") {
gotoAndPlay (2);
}
gotoAndStop (1);
}
|
当鼠标放开
告知目标 (“../music”)
跳至并播放标签 (“track3”)
告知目标 (“../sound2”)
跳至并播放帧 (5)
告知目标 (“../stop3”)
跳至并停止帧 (1)
告知目标 (“../amp”)
跳至并播放帧 (2)
跳至并停止帧 (1)
---|---
步骤18:设置电影片段mv-stop1第1帧处bu按钮的Actions:
on (release) {
stopAllSounds ();
tellTarget ("../music") {
gotoAndStop (1);
}
tellTarget ("../play1") {
gotoAndStop (2);
}
tellTarget ("../amp") {
gotoAndStop (1);
}
gotoAndStop (2);
}
|
当鼠标放开
停止所有声音
告知目标 (“../music”)
跳至并停止帧 (1)
告知目标 (“../play1”)
跳至并停止帧( 2 )
告知目标 (“../amp”)
跳至并停止帧( 1 )
跳至并停止帧( 2 )
---|---
同样,设置电影片段mv-stop2第1帧处的按钮bu的Actions:
on (release) {
stopAllSounds ();
tellTarget ("../music") {
gotoAndStop (1);
}
tellTarget ("../play2") {
gotoAndStop (2);
}
tellTarget ("../amp") {
gotoAndStop (1);
}
gotoAndStop (2);
}
|
当鼠标放开
停止所有声音
告知目标 (“../music”)
跳至并停止帧 (1)
告知目标 (“../play2”)
跳至并停止帧( 2 )
告知目标 (“../amp”)
跳至并停止帧( 1 )
跳至并停止帧( 2 )
---|---
设置电影片段mv-stop3第1帧处bu按钮的Actions:
on (release) {
stopAllSounds ();
tellTarget ("../music") {
gotoAndStop (1);
}
tellTarget ("../play3") {
gotoAndStop (2);
}
tellTarget ("../amp") {
gotoAndStop (1);
}
gotoAndStop (2);
}
|
当鼠标放开
停止所有声音
告知目标 (“../music”)
跳至并停止帧 (1)
告知目标 (“../play3”)
跳至并停止帧( 2 )
告知目标 (“../amp”)
跳至并停止帧( 1 )
跳至并停止帧( 2 )
---|---
步骤19:OK!做好了,现在回到场景1,按组合键Ctrl+Enter,在生成的电影中测试播放器的效果。