惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
O
OpenAI News
D
Docker
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
Security Latest
Security Latest
T
Tailwind CSS Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
N
News and Events Feed by Topic
aimingoo的专栏
aimingoo的专栏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
爱范儿
爱范儿
宝玉的分享
宝玉的分享
腾讯CDC
H
Heimdal Security Blog
Webroot Blog
Webroot Blog
AI
AI
WordPress大学
WordPress大学
Recorded Future
Recorded Future
SecWiki News
SecWiki News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
C
Check Point Blog
TaoSecurity Blog
TaoSecurity Blog
Cisco Talos Blog
Cisco Talos Blog
The Cloudflare Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - Franky
云风的 BLOG
云风的 BLOG

博客园 - symjie

每天学一点AS3.0(五)---声音的控制(5) 每天学一点AS3.0(三)---声音的控制(3) 每天学一点AS3.0(二)---声音的控制(2) 每天学一点AS3.0(一)---声音的控制 Jquery json的超强组合 - symjie - 博客园 javascript分页程序 - symjie - 博客园 初试jquery制作一个简单的loading delegate——委派 - symjie - 博客园 sql 分页 Ajax.net和GridView交互 Ajax.net实现loading登陆的效果 - symjie - 博客园 Ajax.net+模态窗口的登陆简单例子 GridView自定义分页(vb) - symjie - 博客园 用下拉列表控制gridview的分页 DataView数据组件 (转) c#冒泡程序 Atlas学习笔记 getElementByTagsName和相关函数的学习 基于Ajax.net的验证
每天学一点AS3.0(四)---声音的控制(4)
symjie · 2010-05-05 · via 博客园 - symjie

     今天忙坏了,又是弄机器又是桌子的!哎,一开始都是难啊!还好,还留了点力气写点东西了!

     继续昨天的内容,今天我们要加上一个控制条,可以拖拉来控制我们的音乐的播放位置。其实这个功能非常的简单,就是用到了影片剪辑的的startDrag和stopDrage两个方法,以及我们两个鼠标事件MouseEvent.MOUSE_DOWN---鼠标按下,MouseEvent.MOUSE_UP---鼠标松开。

    1,新建一个文档命名为“控制条.fla”。然后创建3个影片剪辑分别命名为“底色,滑道,滑块”,如图:

        底色mc

       

       把x,y属性调成:0,0

       随便画一个矩形,按照自己喜欢的样式进行调整。

       滑道mc

      

      把x,y属性调成:0,0

       也是随便画一个矩形,按照自己喜欢的样式进行调整,但是要注意的是要和底色的颜色分开!

      滑块mc

     

     把x,y属性调成:0,0

     好了,以上就是我们创建的3个影片剪辑

   2,返回舞台,创建4个新层分别命名为“控制层”,“滑块”,“滑道”,“底色”,如图:      

       

    然后在“底层”上一个“底色”影片剪辑,“进度层”放“滑道”影片剪辑,“滑块层”放滑块影片剪辑,控制层放3个按钮“开始”,“停止”,“暂停”

    最后的效果如下:

       

   注意,当把滑块和滑道拖上来之后,使用对齐工具使他们两个左对齐。

   3,在代码层写如下代码

代码

//声明
var url:URLRequest=new URLRequest("../ych.mp3");
var soundControl:SoundChannel
=new SoundChannel();
var sound:Sound
=new Sound();
var mp3position:Number
=0;
sound.load(url);
//添加按钮监听
sound.addEventListener(Event.COMPLETE,completeMp3);
play_btn.addEventListener(MouseEvent.CLICK,playMp3);
stop_btn.addEventListener(MouseEvent.CLICK,stopMp3);
pause_btn.addEventListener(MouseEvent.CLICK,pauseMp3);
function completeMp3(e){
    soundControl
=sound.play();
}
function playMp3(e){
    soundControl.stop();
    soundControl
=sound.play(mp3position);
}
function stopMp3(e){
    soundControl.stop();
}
function pauseMp3(e){
    mp3position
=soundControl.position;
    soundControl.stop();    
}
//添加滑块监听
hk_mc.addEventListener(MouseEvent.MOUSE_DOWN,hkdown);
hk_mc.addEventListener(MouseEvent.MOUSE_UP,hkup);
function hkdown(e){
    
//取得滑道的x坐标
    var rx=hd_mc.x;
    
//取得滑块的y坐标
    var ry=hk_mc.y;
    
//取得矩形的长
    var rw=hd_mc.width-hk_mc.width;
    
//取得矩形的高
    var rh=0;
    
//定义个矩形范围用来规定滑块滑动的范围
    var range:Rectangle=new Rectangle(rx,ry,rw,rh);
    
//false的作用是锁定到用户首次单击该 Sprite 时所在的点上 
    hk_mc.startDrag(false,range);
}
function hkup(e){
    hk_mc.stopDrag();
}

好了,此时我们的功能就已经实现了,但是只能拖动,还不能实现拖动到那里,从哪里播放。明天我们继续此程序。

源程序下载