|
Flash5中加入了不少函数,比如关于声音控制的函数。现在我们就在这里为大家介绍一个运用声音函数控制声道音量的例子。例子通过鼠标的左右移动来控制声音左右声道输出的音量。
思路:通过一个空的Movie
Clip锁定中心跟随鼠标,从而间接获得鼠标的坐标,由鼠标的坐标结合声音控制函数来设定左右声道音量。
现在我们开始制作这个例子。
步骤一:制作空Movie Clip
这一步比较简单,新建一个电影文件,规格400*400。
新建一个Symbol(Insert>New Symbol..),“Name”为“drag”,“Behavior”为“Movie
Clip”。按ok后会进入这新建Symbol的编辑界面,什么都不要添加,直接返回到主场景。然后将其从Library(元件库)中拖到主场景中,为了方便以后找到它,我们把它拖放到编辑区外(在屏幕中,非被选定时用一个小孔心圆标示),并在Instance浮动面板中,为其添加“Name”为“drag”,如图。
双击Layer 1的第一帧,这时会弹出Frame Actions面板,打开面板左边“Actions”命令列表,双击“StarDrag”添加action,“Target”中填入“drag”(或者点击面板右下方的准星似的绿色图案,在弹出来的Insert
Target Path面板中选择),并且钩选“Lock mouse to center”。
步骤二:制作喇叭
为了从视觉上让大家感受到左右声道的变化,我们用两个“喇叭”的放大、缩小来表现声道音量的变化。用直线工具和箭头工具画一个张口向左的喇叭,然后将它转换成Symbol(Insert>Convert
to symbol..),在弹出的"Symbol propertoes"对话框中,给这个Symbol起一个名"horn" ,在Behabior中,选择Movie
Clip。然后按组合建Ctrl+C和Ctrl+V复制一个horn,并将它旋转180度变成一个张口向右的喇叭,如图。
分别为他们添加Instance Name为l_horn和r_horn。两个喇叭水平对齐相隔一段距离摆放。这里我们只是做一个示意,大家也可以花一些心思和工夫将形式做得新颖漂亮一点。
步骤三:编写控制左右声道音量脚本
编写脚本前,首先导入一段音乐。选择菜单栏File中的Import项(Ctrl+R),从外部导入一段音乐到Labrary中,然后添加一个层Layer
2并把那段音乐从Labrary中拖出,并且为他增加3帧的长度,如图。
双击Layer2的第5帧,在弹出的Frame Actions面板中添加一下脚本:
i = _root.drag._x/2-100; file://间接获得鼠标的横坐标
s = new Sound();//创建一个对象
s.setPan(i); file://定义声音左-右平衡的整数,
注:这里有效值范围是 -100 到 100,各值控制含义如下:
-100: 只使用左声道;
100: 只使用右声道;
0:是在两声道间平衡分布声音。
|
if (i<0) { file://设定左右两个喇叭的大小。
with (_root.l_horn) {
_yscale = Math.abs(i)+100;//用Math.abs函数求i的绝对值
_xscale = Math.abs(i)+100;
}
} else {
with (_root.r_horn) {
_yscale = Math.abs(i)+100;
_xscale = Math.abs(i)+100;
}
}
在Layer2的第6帧添加一关键帧,并添加脚本:gotoAndPlay
(5)。
将Layer1的第1帧移动到第5帧,如图。
这样就完成了这个用鼠标控制音乐左右声道音量的例子,大家可以按组合建Ctrl+Enter从视觉上和听觉上测试一下效果。左右移动鼠标,往左时左边的喇叭会放大、左声道音量会增加而有右声道音量会不断降低,往右移动时则相反。
|