论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

如何动态的控制声音的音量大小?

文章类别:Flash | 发表日期:2008-9-21 15:04:04

  

如何动态的控制声音的音量大小?
解决思路(必须要有)
实现旋转按钮控制声音大小,首先我们要调用库中的音乐,并让其循环足够大的次数。然后要实现按钮拖动效果,并在此基础上实现声音的最大与最小之间的相互过渡。
具体步骤
我们分两个部分来完成。第一部分是事例所需要的元件的绘制。第二部分是AS控制部分。
1,??打开FLASH?MX,设置背景为绿色,其他文档属性默认。
2,??【插入】|【新建元件】,建立一个名称为“旋转按钮图形”的图形元件。并在其编辑区内利用简便填充的圆绘制一个旋转按钮。如图1所示。


图1??绘制旋转按钮
3,??先建一个影片剪辑,命名为“旋转按钮”。把“旋转按钮图形”从库中拖放到影片剪辑编辑区。分别在第50帧,第100帧插入要害帧。并设置这两帧中影片剪辑的旋转角度。创建移动渐变动画。并在第1帧添加AS:stop();。如图2,图3所示。


图2?第50帧的旋转角度


图3??第100帧的旋转角度
4,??先建一个按钮元件,命名为“按钮”。进入编辑区以后,在按钮时间线的第4帧“点击”帧里面绘制一个40*65像素的矩形。因为是在“点击”帧里面绘制的,所以颜色随意。如图4所示。


图4???绘制按钮元件
5,??先建一个名称为“滑快”的影片剪辑,把“按钮”元件拖放到编辑区。
6,??我们找一个mp3音乐,导入到库中。命名为“sound”。现在我们的预备工作都已经完成了。下面我们就要做最重要的as语句部分了。
7,??回到主场景,把“旋转按钮”影片剪辑拖放到第1层的第1帧,在下面的属性面板中设定给影片剪辑得分身名为“xuanzhuan_mc”。改变图层1的名称为“旋转”。如图5所示。


图5???设定分身名
8,??新建一层,命名为“按钮”。利用绘图工具绘制一个按钮的刻度,并添加刻度值。在上方创建一个动态文本,变量名为“aa”。如图6所示。


图6???“按钮”层的绘制
9,??新建一个图层,命名为“滑快”。把影片剪辑“滑快”拖放到场景中的相应位置,并在属性面板中设置他的分身名为“huadong_mc”。如图7所示。


图7???“滑快”层的设置
10,??????????????新建最后一个图层,命名为as。在这个层中我们来添加as:
stop();//让动画在这帧停止?
ss?=?new?Sound();???????????????//创建一个新的声音?
ss.attachSound("sound");?????????//绑定库里的声音。?
ss.start(0,200);???????????????????//声音开始播放,循环200次。
11,双击库中的“滑快”影片剪辑,选中它里面的按钮,给按钮添加as:
on?(press)?{?
startDrag("",?false,?left,?top,?right,?bottom);?
//当按下鼠标时,开始拖动,限制可拖动的区域?
????dragging?=?true;//设置变量为真?
}?
on?(release,?releaseOutside)?{?
????stopDrag();//当释放或在按钮外释放时,停止拖动。?
????dragging?=?false;?设置变量为假?
}
12,回到主场景,选中“滑快”图层中的影片剪辑,添加as:
//?这是设置huadong_mc(含按钮)的坐标位置。限制huadong_mc只能在水平方向移动。只能移100。
onClipEvent?(load)?{
?????????top?=?_y;
?????????left?=?_x;
?????????right?=?_x+100;
?????????bottom?=?_y;
}
//?当为真时,得到huadong_mc的坐标,去掉小数(重要),
onClipEvent?(enterFrame)?{
?????????if?(dragging?==?true)?{
???????????????????n?=?getProperty("_root.huadong_mc",_x);
???????????????????n?=?Math.round(n);
???????????????????//?取A的值,0~100,因为最大为341,最小为241
??????????????a?=?n-241;
???????????????????//?设AA的值。
???????????????????_root.aa?=?a;
???????????????????//?指向MC,停止在AA的值。
???????????????????_root.xuanzhuan_mc.gotoAndStop(_root.aa);
???????????????????//?这句是设声音的大小,当X=LEST时,最大;当X=RIGHT时,最小。
???????????????????_root.ss.setVolume(100-(_x-left));
?????????}
}
13,测试,我们发现并没有声音播放。这是为什么呢?是因为我们在as层中设定了调用库中的音乐并没有成功。我们选中库中的“sound”声音元件,利用鼠标右键打开连接面板。如图8所示设置。


图8??????声音文件的连接属性
完成。请参考源文件旋转按钮控制声音.fla
注??意?——按钮的刻度位置一定要与按钮旋转的角度相互对应。
提??示?——隐形按钮的制作很有讲究,文章开头我提到的灵光一闪就是这个了,开始时我做了个圆形的按钮,比较大。后来又改成了图中的A的矩形,比较好控制。因为当旋转MC播放时,你始终处于隐形按钮的感应范围,所以有种控制旋钮的错觉,其实你水平拖动也能控制声音的啦!
技??巧?——为什么MC的名称要起名为huadong_mc呢?因为假如你加上了非凡的后缀_mc,在写代码时,写到_mc后面再写点时,就会出现代码提示,很方便。(没有后缀不会出现。)

?分??析——?分析为什么要这样做,指出操作的要害,介绍其他操作的结果。使读者知其然,也知其所以然,从而举一反三。

非凡提示
动态文本框aa只是为测试,你可以把它删掉。

非凡说明


本例中除了as的一些用法的知识以外,我们第一次接触了声音的连接属性设置。在论坛上有不少的朋友碰到这样的问题。问题的要害就是没有设置声音的连接属性。声音的连接属性与影片剪辑得分身名是一样的。假如不设置他的连接属性,as就无法判定去控制哪一个元件了。

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058