站内搜索:     
站点首页破釜学院网页制作Flash疑难问题 → 如何控制音乐音量的淡出淡入效果?
正在加载相关信息.....
Web 站内搜索
如何控制音乐音量的淡出淡入效果?
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2006-03-29 人气: 出处:闪吧

如何控制音乐音量的淡出淡入效果?

解决思路(必须要有)
      运用FLASH提供的普通的关闭音乐功能,很难实现点击一个按钮就能随意控制音乐的效果,那么,这里到底有什么奥妙呢?其实方法很简单。将两个同样的按钮放置在不同的影帧里,然后利用按钮的Action来切换这两个影帧。用绑定库里的声音的方法来控制声音。可以通过AS来控制变量以达到淡入淡出的效果。
具体步骤
      1,运行flash  mx,导入一段音乐。设置此音乐元件的的连接属性,命名为“music”。如图1所示。

图1     连接属性设置
2,              在主场景的第1帧加入绑定音乐语句:

//这是绑定声音的代码
loop = new Sound();
loop.attachSound("music");//music是在库里做链接时的标识名
3,              新建一个影片剪辑元件,命名为“da”。进入编辑区,在第1帧加入:
stop();();//动画播放时让da(大)停在第一帧
第2帧加:
_root.loop.start(0,200);//控制声音开始播放
_root.loop.setVolume(0);//设置声音音量为0
第3帧加:
if (i>=100) {    //设置判断条件,当i>=100时,执行括号中的语句
    _root.gotoAndStop("on");//主时间轴跳转影帧
}
i = i+10;
_root.loop.setVolume(i);//设置声音音量为i
第15帧加:
gotoAndPlay(3);//返回第三帧,反复执行

 

时间线如图2所示。
图2   影片剪辑“da”的时间线
4,新建一个影片剪辑,命名为“xiao”。进入编辑区以后在第1帧加:

stop();//动画播放时让da(大)停在第一帧
第2帧加:
if (i>0) {
    i = i-10;
    _root.loop.setVolume(i);
} else {
    _root.loop.stop();//如果i<=0,让声音停止
    _root.gotoAndStop("off");//主时间轴影帧跳转
}
第10帧加:
gotoAndPlay(2);//返回第二帧,反复执行

 

时间线如图3所示。
图3   影片剪辑“xiao”时间线
5,             新建两个文字按钮,本别命名为“开始音乐”和“停止停止”。如图4所示。

图4  “开始音乐”按钮
6,             回到主场景,在第2帧插入关键帧。把影片剪辑“da”拖放到场景中,在下面的属性面板中设置他的分身名为“da”。同时把“开始音乐”按钮拖放到场景中。如图5所示。

图5   第2帧
7,             选中“开始音乐”按钮,添加as:

on (release) {
    tellTarget ("_root.da") {    //指向_root.da 
        gotoAndPlay(2);        //播放
    }
}
8,             在第11帧插入一个关键帧。按照步骤6的方法把影片剪辑“xiao”和“停止音乐”按钮拖放到场景中。并在按钮上添加as:
on (release) {
    tellTarget (_root.xiao) {    //指向影片剪辑xiao
        gotoAndPlay(2);         //跳转到第2帧播放
    }
}
9,好了,这个事例做完了。测试保存吧。请参看源文件控制音量淡出淡入.fla

 


>>>> 进入论坛交流 <<<<