FLASH中进度条的问题,会的高手请进

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:40:19
昨天做了一个进度条,出了些问题,向高手请教:
在帧上的动作:
onEnterFrame = function () {

var l:Number = _root.getBytesLoaded();
var t:Number = _root.getBytesTotal();
var lFrame:Number = _root._currentframe;
var tFrame:Number = _root._totalframes;

bt._x=225*(lFrame/tFrame);

}
在进度条滑块上的动作:
on (press) {
this.startDrag(true,0,0,225,0);//限定拖动范围

_root.stop();

}
on (release, releaseOutside) {

this.stopDrag();//停止拖动
_root.gotoAndPlay(int(1126*this._x/225)+1);

//注意这句(问题就出在这)
delete this.onEnterFrame;

}

在移动滑块时滑块总变动位置,如果去掉delete this.onEnterFrame;的话移动倒是正常,但移动后滑块不能自己向前走了,希望能解决此问题的高手在公布方法后也能留下你的QQ号,谢谢
能否在我的代码中修改以实现效果?

我总感觉你把问题复杂化了,不过我这个没有让滑块移动,不过移动应不难,这是我做的一个:
以下是加在移动滑块上的:
onClipEvent (load) {
left=82;
right=467;
top=_y;
bott=_y;
}
onClipEvent (enterFrame) {
x=Math.floor(((this._x-82)/385)*130);//130是总帧数可以用变量代替
if(std){
_root.gotoAndStop(x);
}
if(!std){_root.play()}
} //注意:我在这里加的判断

移动滑块是个MC,里面只有一个按钮组成,按钮上的代码:
on (press) {
this.startDrag(false,left,top,right,bott);
this.std=true;
}
on(release,releaseOutside){

this.stopDrag();
this.std=false;
}
用这个方式可以前后移动滑块,移动后,影片可以继续播放。

以下是我改过的,可以实现滑块和影片一起移动即你说的效果:
主时间轴第一帧:tFrame:Number = _root._totalframes;

onClipEvent (load) {
left=82;
right=467;
top=_y;
bott=_y;
}
onClipEvent (enterFrame) {
x=Math.floor(((this._x-82)/385)*_root.tFrame);
if(this._x<=467){
this._x=385/_root.tFrame+this._x;
}//加了这一句
if(std){
_root