淡入淡出按钮 运用FLASH5提供的普通的关闭音乐功能,很难实现点击一个按钮就能随意控制音乐的效果,那么,这里到底有什么奥妙呢?其实方法很简单。将两个同样的按钮放置在不同的影帧里,然后利用按钮的Action来切换这两个影帧。用绑定库里的声音的方法来控制声音。可以通过AS来控制变量以达到淡入淡出的效果。 先看看效果吧:
点击浏览该文件
file://这是绑定声音的代码 loop = new Sound(); loop.attachSound("music");//music是在库里做链接时的标识名
第一步:建立两个MC,一个起名叫da(大),一个起名叫xiao(小)。 在da(大)编辑环境中第一帧加 stop();//动画播放时让da(大)停在第一帧 第二帧加 _root.loop.start(0,200);//控制声音开始播放 _root.loop.setVolume(0);//设置声音音量为0 第三帧加 if (i>=100) { file://设置判断条件,当i>=100时,执行括号中的语句 _root.gotoAndStop("on");//主时间轴跳转影帧 } i = i+10; _root.loop.setVolume(i);//设置声音音量为i 第十五帧加 gotoAndPlay(3);//返回第三帧,反复执行
第二步:在xiao(小)编辑环境中 第一帧加 stop();//动画播放时让da(大)停在第一帧 第二帧加 if (i>0) { i = i-10; _root.loop.setVolume(i); } else { _root.loop.stop();//如果i<=0,让声音停止 _root.gotoAndStop("off");//主时间轴影帧跳转 } 第十帧加 gotoAndPlay(2);//返回第二帧,反复执行
第三步:在开始按钮上加命令 on (release) { tellTarget ("_root.da") {//指向_root.da gotoAndPlay(2);//播放 } }
第四步:在停止按钮上加命令 on (release) { tellTarget (_root.xiao) { gotoAndPlay(2); } } 到这应该做完了,至于一些细节方面,你参考源码吧。。。
点击浏览该文件 音乐暂停实例 运用FLASH5提供的普通的关闭音乐功能,很难实现点击一个按钮就能随意控制音乐的效果,那么,这里到底有什么奥妙呢?其实方法很简单。将两个同样的按钮放置在不同的影帧里,然后利用按钮的Action来切换这两个影帧。用绑定库里的声音的方法来控制声音。 先看看效果吧:
点击浏览该文件 ss=new Sound(); //这是绑定声音的代码 ss.attachSound("sound"); ss.start();
在停止按钮上加命令: on (release) { gotoAndStop("Off"); //切换影帧 ss.stop(); _root.a=ss.position; } 在开始按钮上加命令: on (release) { gotoAndStop("On"); //切换影帧 ss.start(_root.a/1000); //将毫秒数换成秒数 } 主要的技术在这方面,别的旁枝末节我就不说了。 旋 转 按 钮 控 制 音 乐 旋转按钮控制音乐音量大小,刚看到这个题目时,一时不知如何实现。试着先做一做。到最后时灵光一闪,才完成了。通过这个实例,你能学会的技术包括:绑定库里的声音并控制它,鼠标拖动并限制它的拖动范围,如何通过获得一个MC的坐标来控制另一个MC的播放,跟我来吧!先看看效果:
点击浏览该文件
请参照图(1)来看下面的步骤:

第一步:先来看看主时间轴,第一层放的是旋转MC(图中的B),实例名xuanzhuan_mc;第二层放的是按钮的基本形状和一个动态文本框(图中的C),变量为aa;第三层放的是滑块MC(图中的A),实例名huadong_mc;第四层放的是AS,控制声音绑定库里的声音文件。
第二步:先来绑定库里的声音文件。打开库面板,找到你要用的声音文件,点右键选择Linkage,在第一项里打勾,然后在上面的ID标识框里写上标识符sound。再来看第四层里的AS: stop();//让动画在这帧停止 ss = new Sound();//创建一个新的声音 ss.attachSound("sound");//绑定库里的声音(刚才定义的那个),标识一定要相同。 ss.start(0,200);声音开始播放,循环200次。
第三步:来做旋转MC,在第1帧,将旋钮的角度调整到100的位置,在第100帧,将旋钮的角度调整到0的位置,在第一帧设置移动渐变动画,这时出现一个问题,它不是顺时针转,而是逆时针,这样就在第50帧加了一个关键帧,转到50的位置,这样它就走捷径了,成了顺时针转,目的达到。最后在第一帧加上stop();命令。
第四步:来做滑块MC,它是一个内嵌隐形按钮的MC,它的里面只有这个按钮,没有别的,在按钮上加上下面的AS代码: on (press) { startDrag("", false, left, top, right, bottom); //当按下鼠标时,开始拖动,限制可拖动的区域 dragging = true;//设置变量为真 } on (release, releaseOutside) { stopDrag();//当释放或在按钮外释放时,停止拖动。 dragging = false; 设置变量为假 }
第五步:在滑动MC上加下面的代码: // 这是设置huadong_mc(含按钮)的坐标位置。限制huadong_mc只能在水平方向移动。只能移100。从_x移到_x+100。 onClipEvent (load) { top = _y; left = _x; right = _x+100; bottom = _y; } // 当dragging变量为真时,得到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; _root.aa = a; // 设aa的值。 _root.xuanzhuan_mc.gotoAndStop(_root.aa); // 控制旋转MC,停止在表达式aa的值。 // 下面这句是设声音的大小,当x=left时,最大(100);当x=right时,最小(0)。 _root.ss.setVolume(100-(_x-left)); } }
第六步:到这里,已经完成了。总结一下:1、为什么MC的名称要起名为huadong_mc呢?因为如果你加上了特殊的后缀_mc,在写代码时,写到_mc后面再写点时,就会出现代码提示,很方便。(没有后缀不会出现。)2、图中的C,那个动态文本框只是为测试,你可以把它删掉。3、onClipEvent (load)是电影剪辑实例在时间轴中出现时发生;onClipEvent (enterFrame)是指在播放电影剪辑实例中任一帧时发生,由于只有一帧,所以播放头反复进入此帧,使语句得到执行。4、隐形按钮的制作很有讲究,文章开头我提到的灵光一闪就是这个了,开始时我做了个圆形的按钮,比较大。后来又改成了图中的A的矩形,比较好控制。因为当旋转MC播放时,你始终处于隐形按钮的感应范围,所以有种控制旋钮的错觉,其实你水平拖动也能控制声音的啦!
点击浏览该文件 音乐暂停最简码 通过大闪的指点我又做出了比较简洁的音乐暂停代码拿来和你共享: ss=new Sound(); ss.attachSound("sound"); ss.start(); ss.onSoundComplete = function() { ss.start(); };//以上是闪吧的版主教我的
场景中只有一个按钮,按钮上加代码: on (press) { a=a+1; if (a%2==1) {//判断奇偶数,奇数时停,偶数时开 ss.stop(); _root.b=int(ss.position/1000); _root.t="你暂停在第"+_root.b+"秒"; _root.kg="音乐停"; } else { ss.start(_root.b); _root.kg="音乐开"; } }//以上是皮皮狼教我的
再在场景中放两个动态文本框,起好变量名就完成了。 效果在这:
点击浏览该文件 这个是最简码。。。
点击浏览该文件 在补充一个更简单的:) 1。导入声音,新建一个MC,把声音拖入至MC中。 2。把MC拖入场景,命名为mp3 3。拖2个按纽,一个PLAY 一个STOP PLAY的按纽上写: on (release) { _root.mp3.play(); } stop的按纽上写: on (release) { _root.mp3.stop(); } 就OK了 最最简单的控制声音暂停与播放
[全屏欣赏]
点击浏览该文件
|
|