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

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

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

   

代码
//声明一个判断条件
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函数用来测试以下!

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

posted on 2010-05-06 20:15  symjie  阅读(545)  评论(0编辑  收藏  举报