Flash AS2入门教程第九课:使用声音第一节-Sound类

2016-01-29 12:13 9 1 收藏

Flash AS2入门教程第九课:使用声音第一节-Sound类,本例为Flash AS2代码入门系列教程,在上一课中我们了解了在AS2代码中如何表现日期与时间,今天我们学习使用声音的第一节,Sound类的运用,希望能给对编程感兴趣的朋友带来帮助~~

【 tulaoshi.com - Flash 】

本文由中国 sanbos 原创,转载请保留此信息!  

本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请点击这里,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

上一节:Flash AS2入门教程第八课:日期与时间

更多Flash AS教程:http://www.jcwcn.com/portal-topic-topicid-1.html

本例为Flash AS2代码入门系列教程,在上一课中我们了解了在AS2代码中如何表现日期与时间,今天我们学习使用声音的第一节,Sound类的运用,希望能给对编程感兴趣的朋友带来帮助~~

使用声音

Sound类提供了对声音的操作,要使用Sound类必须使用new 新建一个Sound实例:
var mysound:Sound = new Sound();
有了Sound实例,就可以使用Sound类的方法来操作声音了。

1. 从库中导入声音到舞台。
我们可以将声音素材导入到库中,然后在运行时将它加载到舞台上,这样做灵活性比较大,也比较好控制。将声音导入到库中后,对它进行一些设置,以便更好地应用。首先在库中声音无件上,点右键属性,在属性面板中选择声音格式为mp3,并将使用导入时品质前的钩去掉,这样声音的体积将大地降低。
回到库中,在声音元件上点右键连接,在连接面板中,将为ActionSpript运行时导出前打钩,在标识符栏中为声音取一个标识符。这同MC一样。

attachSound()方法:将库中的声音加载到舞台上。
用法:Sound实例. attachSound(标识符);
start()方法:声音开始播放。
用法:start(开始的秒数,循环次数);
如果没有参数,则从开头播放1次。

声音还有个事件:onSoundComplete,这个事件是在声音结束播放时调用。很常见的一个用法,比如说话,没说话时嘴不动,话说完后嘴也不动,我就可以在声音结束时,让嘴停止,用这个事件就很方便了。

到目前为止我们已经能够将库中的声音加载到舞台上并让它播放了。

点击下面的小丑他就会开口说话了:

代码:

var sy:Sound = new Sound();
xc_mc.stop();
xc_mc.onRelease = function(){
        sy.attachSound("dsm");
        sy.start();
        xc_mc.play();
}
sy.onSoundComplete = function(){
        xc_mc.stop();
}

声音开始播放后,你后悔了,烦它,就想让它停下来,那么请用:
stop()方法: 使声音停止播放。
用法:stop(标识符)
如果没有参数将停止所有的声音。

将上面的代码改为:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/) var i=1;
var sy:Sound = new Sound();
xc_mc.stop();
xc_mc.onRelease = function(){
        if(i==1){;
        sy.attachSound("dsm");
        sy.start();
        xc_mc.play();
        i=0;
        } else {
                xc_mc.stop();
                sy.stop();
                i=1;
        }
       
}
sy.onSoundComplete = function(){
        xc_mc.stop();
}

测试影片,在小丑还没骂完人的时候,再次点他,他就收口了。敢骂人!一耳光就收拾住了。不过他不长记性,你再点他时,他还骂你。

或许你也不是太烦他的声音,只是觉得他声音太大,你想让他小声点,那么请用:
setVolume()方法:设置声音大小,0-100。
用法:setVolume(值);

例子下面再说。

[next]

这里好象有些问题,声音只有开始和结束,但我还想要一个暂停的功能.可惜,在AS中的sound类并没有暂停功能,那么是不是就没有办法了呢?其实办法都是人想出来的,暂停无非就是在停止播放时,记住当前正播放声音的位置.非常幸运,sound类有这个属性,它就是:position

这个属性是声音当前已播放的毫秒数.有了这个属性就为我们实现暂停功能提供了可能.在停止播放时记住停止的位置,在播放时从停止的位置开始播放就实现的暂停的功能.还是以那个小丑为例,将代码改为:

var i=1;
var ztd=0;
var sy:Sound = new Sound();
xc_mc.stop();
xc_mc.onRelease = function(){
        if(i==1){;
        sy.attachSound("dsm");
        sy.start(ztd);
        xc_mc.play();
        i=0;
        } else {
                xc_mc.stop();
                ztd = sy.position/1000;
                sy.stop();
                i=1;
        }
       
}
sy.onSoundComplete = function(){
        i=1;
        ztd=0;
        xc_mc.stop();
}

加载mp3
使用Sound类的loadSound()可以加载外部的声音文件。
格式:Sound实例.loadSound(声音文件地址,一个布尔值);
如果布尔值为true则声音为声音流形式,如果为false则为事件模式。

例,我们要加载一曲mp3歌曲,可用下面的代码:

var mymp3:Sound = new Sound();
  mymp3.loadSound( http://1968.wzeg.com/UploadFiles/2008-6/436743781.mp3 ,false);
mymp3.start();

这一节就讲这么多吧,下一节再具体应用到实例,并会介绍更多的Sound类属性和方法.

对本文感兴趣的朋友可以到这里提交作业、老师会为作业点评、加分:http://bbs.jcwcn.com/viewthread.php?tid=245902

来源:http://www.tulaoshi.com/n/20160129/1485134.html

延伸阅读
标签: 游戏动漫
《初音未来 歌姬计划F2》极限谱面解析第九课 ミラクルペイント P主:Oster project 萌向曲风,因为P主是个少女嘛~音乐越来越有心得,其vocaloid舞台剧是相当成功的系列。 一首爵士的风味与其PV相当搭衬,轻松而慵懒的的曲调令人陶醉,一些音调的变化也像魔术师一般,令人着迷在流转音符之间的交错,是一首相当舒服而协调的音乐。 ...
《黑暗虚空》图文攻略第一段第一节 总得来说,在开始游戏前,我们要做的调试是,根据机器配置调画面,免得卡游戏,调高空中的灵敏度,关掉Y轴反转,还有就是保证室内空气流畅,灯光适宜,免得空战时头昏   一些提议是: 1.在需要飞行或者跳跃时,优先尝试双空格的滑行,比直接Q的冲击式飞行安全的多,不会太容易撞墙壁,另外飞行时,常按...
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息!   本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 不要被这个题目吓倒.AS的确是一种程序语言,我们编写AS代码就叫做编程.我们学习AS首先应该克服对编程的恐惧,...
第一课 简介 SQL是英文Structured Query Language的缩写,意思为结构化查询语言。 SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。 目前,绝...
《黑暗虚空》图文攻略第三段第一节 第三段   第一节 .超长的空战 当然你可以驾驶飞机,UFO,或者你爱飞也行,但是强烈推荐E进AA炮台吧 , 威力大,速度快,安全,稳定,高效,一旦拥有,别无所求。什么UFO,飞船,空雷,全部远距离搞定。超长的射击,必须迅速解决。直到最后的母 舰, 飞上去打两侧的炮片,用S可以Hold住以减少来...

经验教程

45

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部