晕死了,今天又是忙了一天,明天还得挂光驱装系统!哎!一个罪受啊!在抱怨也没有用,这就是命啊!
好了,继续昨天的东西!昨天我们实现了滑块的滑动,但是滑动后并没有播放相应的声音!那么今天我们就来实现以下!
昨天的例子不用改!直接修改代码:
代码
//声明一个判断条件
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;
}
}
}
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函数用来测试以下!
好了,今天就到此结束!明天实现另外一个功能,就是当我们点击滑道的某一个地方,滑块到哪里,并且播放相应的声音!