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号,谢谢
能否在我的代码中修改以实现效果? 展开
在帧上的动作:
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号,谢谢
能否在我的代码中修改以实现效果? 展开
1个回答
展开全部
我总感觉你把问题复杂化了,不过我这个没有让滑块移动,不过移动应不难,这是我做的一个:
以下是加在移动滑块上的:
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;
}
}
以下是加在移动滑块上的:
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;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询