本刊2002年第2期和第3期上连续刊登了《COOL EDIT 2000让电脑成为信号发生器》,为了使这种信号源更加实用和方便,笔者用Flash5.0设计了一个软音频信号发生器,其外观如图1所示。它具有如下性能:①输出从20~8000Hz的10个点频信号; ②输出20~8000Hz的连续扫频信号;③用鼠标单击图中的按钮就可完成使用,十分方便。为了用着舒心,我把标题字做成了淡淡的颜色变化的动画,并在面板正中设计了一个永不停歇的声波扩散动画,这样,在效果上就体现了“软”仪表的特殊风格,给人以清新别致的感觉。下面就来说说这个软信号发生器的基本设计方法,仿此方法,您可以设计出您最喜欢的面板风格和技术内容来。

设计的主要步骤:①准备素材(声音文件和图像文件);②初步布局及设计含声按钮;③设计标题动画及声波传播动画(简称“波圈”吧);④总体布局及调试,产生“成品”,建立快捷图标。需要强调的一点建议是:请事先建立一个文件夹,命名为“我的信号发生器”或“My Instrument”,以备保存所有素材、工作文件及成品。
一、准备素材
① 运行COOL EDIT 2000,点击File→New,建立一个新文件。在弹出的New Waveform窗口中完成图2所示的声音格式选择后,点击OK,出现音频编辑工作区。
② 点击Generate→Tones,在出现的界面中依次设置并产生出20、50、62.5、125、250、500、1000、2000、4000及8000(单位都是Hz)等10个频率的正弦波点频信号,其幅度可取满幅(0dB),如图3所示(更具体的制作方法请参看本刊2002年第3期P26~27的介绍),把这些信号分别保存为20.WAV、50.WAV……8000.WAV等10个文件,放在您事先设置的文件夹中。
图像素材主要是仪器的面板和按钮,可用Photoshop来设计,图4所示的面板可供参考。把您设计的面板存为“面板.jpg”;按钮呢,您得设计至少两个:一个命名为“按钮-凸.jpg”,另一个命名为“按钮-凹.jpg”,以便在用鼠标点击时有一种真实的感觉。宽度定为1.5cm左右,高度0.5cm就差不多了。完成后都存入指定的文件夹中。
关于Photoshop的使用学习,建议读者去www.photoshopit.com(Photoshop完全使用手册)看看。
二、初步布局及设计含声按钮
1. 运行Flash5.0,双击时间轴窗体中的Frame Rate部分(即标注着“12.0fps”的那个小区),在弹出的窗体中设置工作区大小为宽:400PX,高:250PX,点击OK回到工作区。
2. 点击时间轴左下角的加号4次,使它产生出5个动画层来,从下至上分别命名为:面板、音频信号发生器、波圈、按钮层、指示箭头层。这是为下面总体布局及放置按钮、标题动画及波圈动画用的。
3. 导入图像素材:请先在面板层的第一帧上用鼠标点一下,然后按一下鼠标右键,在弹出的对话框中选择Insert Keyframe(插入一个关键帧),然后点击File→Import,弹出Import窗体,将“文件类型”选为“JPEG Image(*.jpg)”,找到您设置的文件夹,将刚才用Photoshop制作的按钮及面板图像都选中,点击“打开”,这些图像就被导入到Flash工作区了。按Delete键将这些图像从工作区删掉(以后再按需调用),然后点击Window→Library,调出Flash的素材库,从中您可以看到:您导入的图像素材已经全在库里面了。
4. 制作一个按钮符号
这是关键的一步,以后的许多按钮都要仿此来建立,所以请特别注意。我们先来给第一个-20Hz信号的按钮建立符号(Button Symbol)。
(1) 点击Insert→New Symbol...,在弹出的窗体中按图5所示填入名称“按钮20”,选定“Button”,点击OK。这时在Flash的库中就能看到这个按钮的名称。
(2) 双击库中的这个按钮,就出现了图6所示的界面,在工作区什么都没有,等待我们来创建这个按钮。创建过程如下:

① 把鼠标点到UP上面,然后从库中找到“按钮-凸.jpg”,将其拖到工作区对准十字中心放下,并用文字工具在按钮上写上“20”字样。点选UP下面的帧。按CTRL+C将其复制下来;
② 再把鼠标点到Over上,按一下F6,再按下CTRL+V,将刚才复制的按钮图像粘贴到这里。此时Over帧上就有了和UP帧上相同的按钮图像;
③ 把鼠标点到Down帧上,按一下F6,再从库中把“按钮-凹.jpg”拖到工作区的十字中心放下;
④ 把鼠标点到Hit帧上,按一下F6,从工具箱中的Color下面点选油漆筒,将其颜色设为红色(可自选,醒目就行),再在工具箱中点选画矩形工具,在工作区的十字周围画一个与按钮大小接近的矩形。
至此,按钮的图像功能就设计完了。在以后使用中,当鼠标按下时,就会有按钮被压下的视觉感了。
5. 为按钮添加标识文字和音频信号
(1) 导入声音素材:点击File→Im-port,弹出Import窗体,将“文件类型”选为“WAV Sound(*.WAV)”,找到您设置的文件夹,将刚才用COOL EDIT 2000制作的WAV文件全部选中,点击“打开”,这些信号文件就都被导入到Flash的库里了。点击Window→Library,调出Flash的素材库,您就可以看到它们。
(2) 点击Down下面的区域,按鼠标右键,在弹出的菜单(见图7)中点选Sound。此时又弹出一个浮动面板,点击Sound窗域,选择20.WAV作为鼠标按下时的声音效果(如图8所示),此时按钮编辑图中便有了声音的波形。应该特别注意的是:请把Loops窗域中的0改为100(或更大),以便让信号声重复100次,否则每过2s您就得再点击一次按钮才能继续发音。其余按钮同此处理。


至此,总算制作了一个完全的含声按钮!再往下还得仿此制作其他频率的9个按钮,就得劳您费心啦!顺便提一句:您制作的8000Hz信号很可能无声!这有几种可能原因:COOL EDIT 2000的局限性;Flash5.0的音频支持程序;您声卡支持的程度。您用COOL EDIT Pro试试,据我的试验用它能制作出高达8500Hz的信号。
三、设计标题动画及声波传播动画(波圈)
1. 设计标题动画
(1) 点击左上角的Scene l回到场景1界面。点选Insert→New Symbol创建一个Movie Clip,命名为“音频信号发生器”,按确定。
(2) 使用文字工具对准工作区的十字输入“音频信号发生器”文字,并适当将其放大,设为蓝色,粗黑体。
(3) 点选该层的第30帧,按F6产生一个关键帧。接着按鼠标右键,在弹出菜单中点选Create Motion Tween(产生移动动画),再在第1帧上右击,用同样方法产生一个Create Motion Tween。整个区域就出现了一个从左向右的长箭头。
(4) 在第10帧和第20帧处分别按F6建立两个关键帧。
(5) 点选第10帧,在工作区的“音频信号发生器”文字上右击,完成图9所示的选定,随后出现图10所示的浮动面板,选定Tint,并从新弹出的面板下面点选深红色赋给第10帧。
(6) 点选第20帧,仿照上法选定Tint,并从新弹出的面板下面点选深绿色赋给第20帧。
(7) 回车看看,是不是标题的颜色在连续变化?
下面再来设计“波圈”,以便在仪器面板上呈现声波扩散的动画效果。
2. 设计“波圈”动画(为了简单,我们只设计没有波谷渐变色的单线条波圈)
(1) 先点击Scene 1返回场景1。点选Insert→New Symbol,创建一个Movie Clip,命名为“波圈”,按确定。
(2) 点选画椭圆工具,再将Colors下面的边界色选为天蓝色,填充色选为无色,围绕工作区的十字画一个小圆圈,其线宽可在Stroke浮动画板中调节(若没有出现可点选Window→Panels→Stroke调出)。
(3) 在第30帧处按一下F6,使产生一个关键帧,并将此帧及第一帧都设为移动动画方式Create Motion Tween,并在第30帧处将小圆圈用缩放工具扩大到约6cm大小,并将其设为全透明(Alpha=0),回车试试,小圆圈向外扩散并渐渐地消失了吧?
(4) 添加3个层后,点选Layer 1,按Ctrl+Alt+C将该层的所有帧都复制下来。
(5) 全选Layer2,按Ctrl+Alt+V把Layer1的设置粘贴到该层。
(6) 用同样方法将层1的信息粘贴到Layer3和4中。
(7) 这是关键的一步:分别全选2、3、4层,把它们适当后移几个帧(见图11),再回车试试,像不像科教动画中的电波?
四、总体布局及调试
1. 点击左上角的Scene l回到场景1中,对所有层都创建10个空白帧(选中1~10帧按F5即可)。
2. 点选“按钮层”,从库中将“按钮20”至“按钮8000”分别拖到面板上“点频信号选择”的下面,并使用对齐工具将其排列整齐(参考图1)。
3. 现在要给“扫频信号输出”下面加一个“使用”和“停止”的按钮,为简单起见,不自己制作了,干脆从Flash的共用库中调用两个:
(1) 点选Windows→Common Li-braries→Buttons调出共用库中的现成按钮库,从中选出两个您喜欢的按钮,拖到面板中“使用”及“停止”的上面(参考图1),
(2) 给“使用”按钮加入扫频信号声:双击“使用”按钮,调出其编辑状态界面。点选任意层中的Down帧,右击,选Panels→Sound,从弹出的浮动面板中选“20~8000扫频信号.WAV”就给此按钮赋入了扫频信号。
(3) 右击“停止”按钮,从中选Ac-tion,从弹出的面板中选Object Actions选项卡中的Stop All Sound并双击之,使在该卡右侧出现程序语句:
on (release) 9{
stopAllSounds ();
9}
见图12。
4. 制作当前使用的按钮指示箭头标记:
(1) 点选Insert→New Symbol,创建一个Graphic Clip,命名为“箭头”,按确定。
(2) 在工作区画一个红色向右的小箭头。
(3) 回到场景1,“指示箭头层”的第1~10等10个帧处按F6各设一个关键帧。
(4) 右击第一帧,选Action→Frame Actions→双击Stop,就在该选项卡的右侧输入了一个语句:stop()。
(5) 仿此对其余9帧作同样的语句处理,以便点击不同的按钮时在其右侧出现一个箭头指示。为此还必须做的一件事是:分别点击“箭头指示层”中的各关键帧,并从库中调出红色箭头把它们一一移动到与各音频按钮对应的地方(右侧),然后右击工作区的第一个按钮,选Action→Object Actions选项卡右上方的小黑三角,从弹出的下拉菜单中选Expert Mode(专业模式),然后点击右侧的空白区,在英文输入状态下输入如下的语句(一定要小心仔细,不能有任何一点差错!):
on(rollOver)9{
stopAllSounds ();
9}
on(press)9{
gotoAndPlay(1);
9}
on (release)9{
gotoAndStop(1);
9}
其含意为:当鼠标滑入这个按钮时首先停止所有声音,而当鼠标按下时去播放第一帧,鼠标放开后仍留在第一帧,以便使鼠标可以去干别的事情而指示当前位置的箭头不会消失。
(6) 仿此给其余按钮都加上类似语句,只将后两个括号中的号码相应改为2、3、4、5、6、7、8、9、10等值。
5. 点选“波圈”层的第一帧,把“波圈”的Movie Clip从库中拖到工作区的正中。
6. 点选“音频信号发生器”层的第一帧,把“音频信号发生器”的Movie Clip从库中拖到工作区的正上方。
7. 按F12测试一下初步表现:
(1) 看看各文字的位置是否正确?(2) 标题文字及波圈是否在正确位置上动作?(3) 点击各音频按钮,有相应的信号声吗?(4) 从一个按钮换到另一个按钮时前一个按钮的声音能自动中止吗?(5)点击扫描信号输出下面的“使用”按钮时工作正确吗?(6)按停止按钮时声音能停止吗?
若发现问题请仔细检查各项设置,特别是Action中的语句设置有无差错,一一纠正后再按一下F12,就可生成最后的Flash动画文件“音频信号发生器.swf”了。如果您满意,不打算再改动了,您可以将其他过程文件统统删掉,并给“音频信号发生器.swf”创建一个快捷方式,把它放在顺手处(比如桌面或启动菜单中),以后就可以方便地把它当作常用设备来使用了。
如果您还不能自作主张地把它产生的信号输送到被测试设备中去使用,可参考本刊今年第3期《COOL EDIT 2000让电脑成为信号发生器》一文相关段落的介绍。
(田进勤)

