FLASH制作声音控制按钮

FLASH制作声音控制按钮,第1张

首先,你提的问题太多了不好回答。我有一些基础教程可以发给你看看,多看多做就慢慢地会了,你可以改变一下脚本的参数看看有什么效果,这样能帮助你理解脚本功能。
1、给实例命名后才能用脚本来控制
2、脚本没有通用性,根据当前的实例名称和影片结构来决定。
3、前面说的第3帧是指主时间轴,后者指按钮内部。

有几种方法:
一\直接把声音放在一个影片剪辑里
在MC第一帧动作写stop();
按钮动作里写on(release){_rootmcplay();}
二\从库中载音乐
on(release){
var
s=new
Sound();
sattachSound("bdr");
sstart();
}
三\载入外部音乐文件
调用外部声音文件(加载到场景中)
外部声音文件必须和正在编辑的Flash文件放在同一目录下
1制作两个按扭(一个调用,一个清除)拖放到场景中
2调用按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码;
mySound=new
Sound();//建立一个新的声音对象mySound;
mySoundloadSound('zaihunimp3',true);//加载外部的mp3声音文件到mySound对象中,并且按流的方式播放(参数为false时,是以装载完后播放);
}
清除按扭上的AS:
on(release){
mySoundstop();//当按下清除按扭后,停止声音的播放
}

在按钮中加入代码: k1=new sound();k1attchSound("这里是在库中声音单击右键设置的实例标识名");On(release){s=k1getVolume()+1;setVolume(s);}

一、在时间轴中使用声音
这是Flash中声音最常使用的方式,任何一本Flash教材都会讲到这个问题,所以只作简单说明。
在设置一个关键帧后,只要你导入了声音文件,在帧属性面板都能进行该帧的声音设置。声音的同步属性(Sync)主要有以下几种:
1.事件(Event)。用这种方式设置的声音会独立于时间轴播放,只要你没有用其它方式中止,它会一直播放下去直到结束,其最大好处是可以用来设置一些类似循环的播放效果,只要你把它后面的循环属性(Loop)设置得足够大。
2.开始(Start)。其特点是,当该帧开始播放,将停止动画中前面帧调用的声音,只播放当前帧中的声音。
3.停止(Stop)。设置后,将立即停止播放当前帧的声音。
4.数据流(Stream)。设置后,会使动一的播放与声音同步,如果动画下载速度跟不上声音,将跳过相关帧而保持与声音同步。另外,如果在播放中设置了(Stop)动画停止,声音也将停止;但如果使用play()语句,声音又将从停止处接着播放。
二、用ActionScript语句调用声音
Flash提供了强大的脚本编辑功能,几乎能与一些专门的编程语言相媲美,在多媒体方面可谓更胜一筹,用Flash脚本语言调用声音,在无论是效果还是灵活性,都值得一试。
1.加入声音
导入外部声音,按Ctrl+L键,d出库窗口,选中导入的声音,单击右键,在d出菜单中选择“链接”菜单项,d出“链接属性”对话框,先选中“为动作脚本导出”复选框,此时对话框上部的“标识符”一栏将变得可用,在其中输入其标识名,在此我们假设输入为“sd”,此标识将在程序中作为该声音的标志,故多个声音不得使用同一个标识符。
在Flash时间轴上的第一帧输入以下语句:
mysong = new Sound()
mysongattachSound("sd")
以上语句先定义一个声音事件mysong,再用mysoundattachSound("sd")语句将库中的声音附加到此声音事件上。
2.声音的播放与停止
在需要播放的帧加入“mysongstart()”语句可让声单播放。
需要停止时,加入“mysongstop()”语句则可。
3.调用外部声音文件
Flash可以在播放时动态加载外部mp3文件,此方法既为多媒体设计提供了更大的灵活性,也能有效地减小作品所占的磁盘空间。实现方法如下(假设同目录下有musicmp3文件):
mysong=new Sound()
mysongloadSound("musicmp3",false)
说明:第一行语句建立一个声音事件或声音流,第二行将musicmp3加载到声音事件事声音流上,loadSound()语句中的false为可选能数,为false时表示mysound为声音事件,为true时表示mysound为声音流,建议使用声音事件,以便于控制;如果使用声音流,则声音停止后将不能再用mysondstart()播放。
三、声音循环播放
前面说过,在时间轴上设置关键帧的声音同步属性为Event时,输入足够大的循环次数,可使声音产生类似循环播放的效果,但是,这种循环仅是类似而已,一者次数再多,总有播放完毕的时候;二者一旦停止,就很难再次播放。下面,向大家介绍一种用代码实现的真正循环,而且,还可用一个按钮实现声音的播放也停止切换,想播就播,想停就停,岂不快哉。
我们可在时间轴的第一帧加入如下代码:
mysong = new Sound()
mysongattachSound("sd")
mysongonSoundComplete = function() {
mysongstart() }
以上代码的第三行是实现循环的关键,它创建了在调用 onSoundComplete 事件时执行的函数,onSoundComplete 为声音播放完毕时自动调用的事件,这样,当声音播放完毕后自动执行mysongstart(),使声音不断播放。如果声音播放时被代码停止( mysongstop() ),声音是不会重复播放的。
将以上代码加入到一个按钮的动作中并稍加改动,便成为一个控制声音播放与停止的切换按钮。
先在时间轴第一帧代码后加上:
mysongplay() //使声音在动画开始时播放
var soundkey=1 //定义变量soundkey,监视声音播放情况
然后在时间轴上插入一个新层,放一个按钮在上面,选中按钮,按快捷键“F9”,调出动作编辑窗口,输入以下代码:
on(release){
soundkey=-soundkey //使变量值为原值相反数
if(soundkey==1){
mysongstop()
mysongstart()
} //如果soundkey值为正,则播放声音,mysongstop()使声音停止后再播,以免声音产生叠加,影响效果
if(soundkey==-1){
mysongstop()
} //如果soundkey值为负,则声音停止
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10253870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存