每天学一点AS3.0(五)---声音的控制(5)

本文详细介绍了如何在滑块操作后触发相应的声音播放,包括实现步骤、关键代码解析及注意事项。通过修改代码,实现了滑块滑动时音乐位置的实时同步与更新。

    晕死了,今天又是忙了一天,明天还得挂光驱装系统!哎!一个罪受啊!在抱怨也没有用,这就是命啊!

    好了,继续昨天的东西!昨天我们实现了滑块的滑动,但是滑动后并没有播放相应的声音!那么今天我们就来实现以下!

    昨天的例子不用改!直接修改代码:

   

ExpandedBlockStart.gif代码
//声明一个判断条件
var pd:Boolean=false;
hk_mc.buttonMode
=true;
hk_mc.addEventListener(MouseEvent.MOUSE_DOWN,hkax);
hk_mc.addEventListener(MouseEvent.MOUSE_UP,hklk);
//给舞台添加一个重复的监听,用来时时的监视滑块的位置
stage.addEventListener(Event.ENTER_FRAME,cfzx);
function hkax(e) {
    pd
=true;    
    hk_mc.startDrag(
false,fk);
    soundControl.stop();
}
function hklk(e) {
    pd
=false;    
    hk_mc.stopDrag();
    soundControl.stop();
    soundControl
=sound.play(mp3position);
}
function cfzx(e) {
    zcd
=sound.length/(sound.bytesLoaded/sound.bytesTotal);
    bfb
=soundControl.position/zcd;
    
if (pd) {
        
//音乐总长度*(滑块x坐标-滑道x坐标=滑块当前位置)/(滑道长度-滑块长度=滑道实际长度)=当前播放头的位置
        mp3position=zcd*(hk_mc.x-hd_mc.x)/(hd_mc.width-hk_mc.width);
    } 
else {
        
if (zcd) {
            hk_mc.x
=bfb*(hd_mc.width-hk_mc.width)+hd_mc.x;
        }
    }
}

 

此时,我们就实现了相应的功能了!注意:这里的判断条件是十分有用的,在cfzx函数里面,如果不加判断的话,那么一开始我们是得不到soundControl.position的值,所以,就实现不了!请大家仔细的体会以下!当然我们可以使用trace函数用来测试以下!

     好了,今天就到此结束!明天实现另外一个功能,就是当我们点击滑道的某一个地方,滑块到哪里,并且播放相应的声音!

转载于:https://www.cnblogs.com/symjie520/archive/2010/05/06/1729145.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值