1) 在新建一个文件夹命名为“声音”,然后在此文件夹中新建一层。做Flash动画当然不可能少了声音,大家在使用Flash 5的时候肯定都是将声音拖拽到时间轴上再设置其loop属性为100或200来实现背景音乐的循环,现在我们要学的时,怎样利用AS控制音乐的循环播放。
2) 使用菜单命令File(文件)-Import(导入)导入一个声音文件,在Library中找到这个声音文件,对其用鼠标右键单击,在弹出的菜单中选择Linkage。(如图2) (本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)
3) 我们可以看到打开的Linkage面板,这个面板与Flash相比还是做了一定的改进的。将Identifier属性改为sound 1,并且将下面的Export For ActionScript(当前动画使用)选项前的选择框打上勾,点击OK按钮完成设置。(如图3)
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)4) 鼠标单击时间轴上“声音”文件夹下层的第一帧,并且打开位于工作区域下方的Actions-Frame面板。点击右上角的图标(如图4)在弹出的菜单中选择Export Mode,使用专家模式对AS进行编辑。输入如下AS:(如图5)
Sound.prototype.atcPLay=function(id,loop)
{
this.attachSound(id);
this.start();
if(loop)
this.onSoundComplete=this.start
};
mxSnd=New Sound();
mxSnd.atcPlay("sound1",true);
//此循环函数由5D多媒体画魔原创
在此段AS中,应当注意onSoundComplete事件的使用方法,onSoundComplete发生在声音结束时,而start方法可以控制声音开始播放。
5) 最后来详细讲解一下这段AS。
Sound.prototype.atcPLay=function(id,loop){this.attachSound(id);this.start();
//首先我们定义一个函数atcPlay用来控制音乐的循环,此函数必须获得声音的linkage id以及设置的loop属性值才可以运行。在函数中使用attachSound命令从library中调入声音文件,使用start开始播放。
if(loop)this.onSoundComplete=this.start};
//如果loop值为true则当声音播放结束后,重新开始播放。
mxSnd=New Sound();
//新建立一个SOUND的函数
mxSnd.atcPlay("sound1",true);
//设置初始值,linkage id(为sound1)以及设置的loop属性值(为true)传递给函数