




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除Flash动漫技巧1.首先来做一些准备工作.播放器的外观并非本教程的内容,但一些部件是必须的.先作5个按钮:播放,暂停,停止,快进,快退,如下图:它们的实例名称分别是:ply_btn,zd_btn,stop_btn,kj_btn,kt_btn2.下面来制作进度条,新建一影片剪辑,画一细长矩形,新插入一层,再画一个相同长度不同颜色的矩形,并将它转换为影片剪辑元件,实例名称为:jdt_mc.回到主场景,将进度条影片剪辑放到舞台上,取实例名称为:jdk_mc.如图:3.声道控制面板,新建一影片剪辑,按下图画出声道控制面板:画一个小的矩形放到面板的中间刻度上,将小矩形转换为影片剪辑,或者就叫滑块吧.为它取实例名称:sdhk_mc.回到主场景,将声道控制影片剪辑拖到舞台上,为它取实例名称:sd_mc4.音量控制面板,新建影片剪辑,按下图画出音量控制面板:将滑块元件(在上一步中创建的)拖到舞台上,放到音量最大处(右边),为它取实例名称:ylhk_mc回到主场景,将音量控制影片剪辑拖到舞台上,为它取实例名称为:yl_mc5.节目单按钮,做下面一样的影片剪辑,放在舞台上,取实例名称为:jmdbtn_mc6.节目单,新建影片剪辑,画一矩形,在矩形上放一个文本框,输入歌曲名称,演唱者:同样的方法创建其它的歌曲名称影片剪辑.新建一影片剪辑,将这些歌曲名称影片剪辑,从库中拖入排好:分别给这些歌名影片剪辑取实例名称:song1_mc,song2_mc.song5_mc.新建一图层,画一矩形盖住所有歌名,然后将这一层拖到最下面.这个矩形的颜色应与歌曲名称影片中的矩形颜色相同. 回到主场景,将节目单影片剪辑拖到舞台上,放到节目单按钮下面,取实例名称为:song_mc7.光栅,新建影片剪辑,画如下图形:放在舞台上,然后复制4个,共5个,分别取实例名称为:gb1,gb2,gb3,gb4,gb58.地址栏,在舞台上建一个动态文本框,取实例名称为:RUL_txt9.再放两个动态文本,用来用数字显示进度.两个文本框的实例名称分别为:dqcd_txt,zcd_txt10.好了,所有的东西都准备齐了,至于你想怎样将它们摆放得漂亮一些,那是你的事情了,本文不涉及到这些内容.我们要写代码了.next我们首先要获得歌曲的地址,将地址放到地址文本框中,当然,最简单的办法是,直接在地址框中输入地址.但我们内置了几首歌,这就要为这些歌名元件添加点击事件,当点击时,将歌曲地址放到地址框中. 在刚打开播放器时,我们让节目单不可见,点击节目单按钮后,才让节目单显示出来: song_mc._yscale = 0; 这样节目单的高度为0,就不可见了. jmdbtn_mc.onRelease = function() if(song_mc._yscale 0) song_mc._yscale = 0; else song_mc._yscale=100; 点击节目单按钮,如果节目单是打开的则关闭节目单,如果是关闭的则打开节目单. 节目单打开后,就可以点击歌曲名称将地址放到地址框中了: song_mc.song1_mc.onRelease = function() RUL_txt.text =/%E5%9B%BD%E5%AE%B6160.mp3; song_mc._yscale=0; song_mc.song2_mc.onRelease = function() RUL_txt.text =/sjweb/enjoyment/music/tiany.mp3; song_mc._yscale=0; song_mc.song3_mc.onRelease = function() RUL_txt.text =/jx/edit/uploadfile/2008223213733227.mp3; song_mc._yscale=0; song_mc.song4_mc.onRelease = function() RUL_txt.text =/music/%E7%94%BB%E5%BF%83.mp3; song_mc._yscale=0; song_mc.song5_mc.onRelease = function() RUL_txt.text =http:/1968./UploadFiles/2008-6/436743781.mp3; song_mc._yscale=0; song_mc.song6_mc.onRelease = function() RUL_txt.text =6:8089/music/Audio/6.mp3; song_mc._yscale=0; 地址栏中有了歌曲的地址,那么就可以点击播放按钮播放歌曲了. 首先要创建一个Sound类,用来加载mp3: var wmp3:Sound = new Sound(); 在播放前,应该将进度条设在0处: jdk_mc.jdt_mc._xscale = 0; 将光栅的高度设为零,因为设光栅高度为零的动作要多次执行,所以将它做成一个函数,然后调用它: function gbhl() for(i=1;i6;i+) gb_mc = eval(gb+i); gb_mc._yscale = 0; gbhl(); 我们还需要一些变量后面有用: var zcd;/歌曲的总长度 var dqcd;/当前已播放的长度,用于暂停按钮和进度条 var ztd =0;/暂停点,用于暂停按钮 var jd;/进度条的位置 var rul:String;/歌曲的地址 var sdz;/声道的值 var ylz;/音量的值 这些变量现在不用管它,在后面用到它们时会给予说明的. 接下来就该写播放按钮上的代码了,有了播放按钮,就可以兴赏音乐了. 在播放时,首先应该判断当前是从头开始播放还是处于暂停状态,如果是暂停,那么我们上面声明的变量ztd就不会是0,根据这个变量是否为零就可以确定是从头开始播放还是从ztd开始播放,如果ztd为零,首先从地址栏获得歌曲地址,然后判定地址是否为空,如果不为空则将进度条归零,然后加载歌曲,并播放歌曲.调用mp3pl()函数,这个函数是在歌曲播放过程中设置一些效果比如进度条,光栅等.如果ztd不为零,则歌曲从暂停点处播放,并调用mp3pl()函数. ply_btn.onRelease = function() if(ztd =0) rul = RUL_txt.text; if(rul) jdk_mc.jdt_mc._xscale = 0; wmp3.loadSound(rul,true); wmp3.start(); mp3pl(wmp3); else wmp3.start(ztd); mp3pl(wmp3); 现在来看看mp3pl()函数,在这个函数中会用到Sound类的两个属性和一个方法,先介绍一下. duration属性:该属性返回声音的总长度,以毫秒计算. position属性:上一节已经介绍过,它返回声音已播放的长度,以毫秒计算. getVolume()方法:返回声音单量的大小,数字为0-100. 在这个函数中,在onEnterFrame事件中,首先获取歌曲的总长度和当前已播放的长度,将这两个数字显示在文本框中,计算出播放进度,设置进度条的 _xscale比例,显示播放进度,然后根据音量设置光栅的高度,首先将_yscale设为音量的一半,然后将另一半设为random()产生随机数,这样就产生闪动的效果. function mp3pl(mp3) onEnterFrame = function() zcd = mp3.duration/1000; dqcd = mp3.position/1000; zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd = dqcd/zcd*100; jdk_mc.jdt_mc._xscale = jd; if(dqcd!=zcd) for(i=1;i6;i+) gb_mc = eval(gb+i); gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2); 现在应该基本成形了,剩下的就是几个按加上功能了. 当点击进度条时根据鼠标在进度条上的位置,确定歌曲重新从那一点上开始播放,达到快进或快退的功能. jdk_mc.onRelease= function() var djd = _xmouse - jdk_mc._x; var kjd = djd/jdk_mc._width*zcd; wmp3.stop(); wmp3.start(kjd); 暂停按钮:记录当前已播放的长度,并存到ztd中,停止播放歌曲,这样当点击播放按钮时,因ztd不等于0,而使歌曲从ztd开始播放. zd_btn.onRelease =function() ztd = dqcd; wmp3.stop(); delete onEnterFrame; gbhl(); 停止按钮:将ztd设为0,停止播放歌曲. stop_btn.onRelease=function() wmp3.stop(); ztd = 0; delete onEnterFrame; gbhl(); 快进快退按钮,在当前已播放长度的基础上加上或减去5秒,重新播放歌曲 kj_btn.onRelease=function() wmp3.stop(); kjd = dqcd + 5; wmp3.start(kjd); kt_btn.onRelease=function() wmp3.stop(); ktd = dqcd - 5; wmp3.start(ktd); 下面的声道控制,在Sound类,的setPan()方法可以设置声音的声道,值为0-100,0声音将完全由左声道播出,而100则完全由右声道播出. 当移动声道控制上滑块,放开时根据滑块的位置设置声道的值. sd_mc.sdhk_mc.onPress = function() startDrag(this,true,0,0,sd_mc._width-this._width/2,0); sd_mc.sdhk_mc.onRelease = function() stopDrag(); sdz = (this._x)/sd_mc._width*100; wmp3.setPan(sdz); 音量控制,在Sound类中可以使用setVolume()方法设置声音的音量,值为0-100,当移动音量控制上滑块,放开时根据滑块的位置设置音量的值. yl_mc.ylhk_mc.onPress = function() startDrag(this,true,0,0,yl_mc._width-this._width/2,0); yl_mc.ylhk_mc.onRelease = function() stopDrag(); ylz = (this._x)/yl_mc._width*100; wmp3.setVolume(ylz); OK,现在真正的完全完成了,静下心来欣赏音乐吧.完整的代码:song_mc._yscale = 0;var wmp3:Sound = new Sound();var zcd;var dqcd;var ztd =0;var jd;var rul:String;var sdz;var ylz;jdk_mc.jdt_mc._xscale = 0;gbhl();ply_btn.onRelease = function() if(ztd =0) rul = RUL_txt.text; if(rul) jdk_mc.jdt_mc._xscale = 0; wmp3.loadSound(rul,true); wmp3.start(); mp3pl(wmp3);else wmp3.start(ztd); mp3pl(wmp3);jdk_mc.onRelease= function() var djd = _xmouse - jdk_mc._x; var kjd = djd/jdk_mc._width*zcd; wmp3.stop(); wmp3.start(kjd);function mp3pl(mp3)onEnterFrame = function() zcd = mp3.duration/1000; dqcd = mp3.position/1000; zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd = dqcd/zcd*100; jdk_mc.jdt_mc._xscale = jd; if(dqcd!=zcd) for(i=1;i 0) song_mc._yscale = 0; else song_mc._yscale=100;song_mc.song1_mc.onRelease = function() RUL_txt.text =/%E5%9B%BD%E5%AE%B6160.mp3; song_mc._yscale=0;song_mc.song2_mc.onRelease = function() RUL_txt.text =/sjweb/enjoyment/music/tiany.mp3; song_mc._yscale=0;song_mc.song3_mc.onRelease = function() RUL_txt.text =/jx/edit/uploadfile/2008223213733227.mp3; song_mc._yscale=0;song_mc.song4_mc.onRelease = function() RUL_txt.text =/music/%E7%94%BB%E5%BF%83.mp3; song_mc._yscale=0;song_mc.song5_mc.onRelease = function() RUL_txt.text =http:/1968./UploadFiles/2008-6/436743781.mp3; song_mc._yscale=0;song_mc.song6_mc.onRelease = function() RUL_txt.text =6:8089/music/Audio/6.mp3; song_mc._yscale=0;function gbhl() for(i=1;i6;i+) gb_mc = eval(gb+i); gb_mc._yscale = 0;stop_btn.onRelease
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 喷涂环保设施巡查方案(3篇)
- 野外河道项目招标方案(3篇)
- 锅炉清洗施工措施方案(3篇)
- 水边建筑改造方案(3篇)
- 员工厕所装修方案(3篇)
- 浴场项目方案(3篇)
- 物业清洁能源供暖方案(3篇)
- 预算单位分级管理方案(3篇)
- 制造检测自动化分析报告
- 教育平台内容生态研究分析报告
- 2025东航招聘心理测试题及答案
- 基层卫生岗位(社区护理组)练兵和能竞赛试题
- 2025年浙江省数字安全证书管理有限公司招聘笔试参考题库含答案解析
- 2025年两个女儿离婚协议书模板
- 施工现场危险源管理制度
- 【图文】个人简历模板大全-可直接下载使用
- 2025广西百色工业和信息化委员会事业单位招聘拟聘高频重点模拟试卷提升(共500题附带答案详解)
- 跨境运输问题应急预案
- 预包装食品采购合同样本6篇
- 2025年美术作品授权合同协议
- 《上市公司再融资》课件
评论
0/150
提交评论