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

昨天做了一个进度条,出了些问题,向高手请教:在帧上的动作:onEnterFrame=function(){varl:Number=_root.getBytesLoaded... 昨天做了一个进度条,出了些问题,向高手请教:
在帧上的动作:
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号,谢谢
能否在我的代码中修改以实现效果?
展开
 我来答
百度网友fe56b77

2007-08-03 · TA获得超过2275个赞
知道大有可为答主
回答量:1961
采纳率:16%
帮助的人:1080万
展开全部
我总感觉你把问题复杂化了,不过我这个没有让滑块移动,不过移动应不难,这是我做的一个:
以下是加在移动滑块上的:
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.gotoAndStop(x);
}
if(!std){_root.play()}
}
只加了一句,其它的没变

这几天有事,一直没时间研究,今天看了下你的代码,在自己的机子上试了下,你的代码可以使用,就是当鼠标按下的时候位置会向右跳一点点,还有就是超过255像素的时候,它还会自己移动,当删除了delete this.onEnterFrame; 这句的时候问题还多,我是在flash8条件下试的。

我把你的前一部分代码改成以下内容,同时把bt转换为一个MC并起名为bt时,基本可以解决,但还存在超过255像素的时候滑块还会自己移动的问题。

onEnterFrame = function () {
var l:Number = _root.getBytesLoaded();
var t:Number = _root.getBytesTotal();
var lFrame:Number = _root._currentframe;
var tFrame:Number = _root._totalframes;
if (bt._x<=225){
bt._x=bt._x+225/tFrame;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式