Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3中的时间线搜索栏_Actionscript 3_Flash_Seekbar - Fatal编程技术网

Actionscript 3 AS3中的时间线搜索栏

Actionscript 3 AS3中的时间线搜索栏,actionscript-3,flash,seekbar,Actionscript 3,Flash,Seekbar,我正在尝试一个flash actionscript项目,其中包括一个用于时间线框架导航的自定义seekbar。现在我可以让dragger在seekbar上移动,相对于totalframes。但是拖动seekbar会带来错误。此外,我想包括计时器,以显示分钟和秒通过 var ratio = 0; ratio = this.totalFrames/main.line.width; var go = 0; var isComplete = false; var tFrame = this.total

我正在尝试一个flash actionscript项目,其中包括一个用于时间线框架导航的自定义seekbar。现在我可以让dragger在seekbar上移动,相对于totalframes。但是拖动seekbar会带来错误。此外,我想包括计时器,以显示分钟和秒通过

var ratio = 0; 
ratio = this.totalFrames/main.line.width;
var go = 0;
var isComplete = false;
var tFrame = this.totalFrames;
var isPress = false;

stage.addEventListener(Event.ENTER_FRAME, drag);
function drag(event:Event):void {   
if(main.dragger.x<=main.line.width){
    main.dragger.x = this.currentFrame/ratio;
}
}

main.dragger.addEventListener(MouseEvent.MOUSE_DOWN, drag1);
 function drag1(event:MouseEvent):void {    
  main.dragger.startDrag(false, new Rectangle(0, 9.2, main.line.width, 9.2));
  isPress = true;
  main.dragger.addEventListener(Event.ENTER_FRAME, frame);
}

function frame(event:Event):void
{
    trace (this.currentFrame);
    if(this.currentFrame < tFrame){
        gotoAndPlay(Math.round(main.x*ratio));
    }else{
        gotoAndPlay(tFrame-1);
    }

}
main.dragger.addEventListener(MouseEvent.MOUSE_UP,release);

function release(event:MouseEvent):void {
  main.dragger.stopDrag();
  main.dragger.removeEventListener(MouseEvent.MOUSE_DOWN, drag1);
}

这个问题涉及面很广。您基本上是要求某人了解您在代码中所做的事情,并为您修复解决方案。你犯了什么错误?你调查过了吗,为什么?在您的努力下,应该不需要查看源文件。当我单击拖动器移动时,它会自动跳转到起始位置,gotoAndPlay也会跳转到该位置并持续停留。。
var tl:MovieClip=this;
tl.addEventListener(Event.ENTER_FRAME,enterframeF);

paramF(tl,1,0,tl.totalFrames,slider.line.width);  // create a horizontal slider movieclip that contains a track movieclip and a thumbscroll movieclip that do the obvious and have left-sided reg point
paramF(slider,0,1,slider.line.width-slider.thumbscroll.width,tl.totalFrames);
var scrollRect1:Rectangle=new Rectangle(0,0,slider.line.width-slider.thumbscroll.width,0);

function enterframeF(e:Event):void{
slider.thumbscroll.x=tl.m*tl.currentFrame+tl.b;
}

slider.thumbscroll.addEventListener(MouseEvent.MOUSE_DOWN,scrolldownF);
slider.thumbscroll.addEventListener(MouseEvent.MOUSE_UP,scrollupF);

function scrolldownF(e:MouseEvent):void{
tl.removeEventListener(Event.ENTER_FRAME,enterframeF);
slider.thumbscroll.startDrag(false,scrollRect1);
slider.addEventListener(Event.ENTER_FRAME,scrollF);
}
function scrollupF(e:MouseEvent):void{
tl.addEventListener(Event.ENTER_FRAME,enterframeF);
slider.thumbscroll.stopDrag();
slider.removeEventListener(Event.ENTER_FRAME,scrollF);
}
function scrollF(e:MouseEvent):void{
tl.gotoAndStop(Math.round(slider.thumbscroll.x*slider.m+slider.b));
}


function paramF(mc:MovieClip,x1:Number,y1:Number,x2:Number,y2:Number):void{
mc.m=(y1-y2)/(x1-x2);
mc.b=y2-mc.m*x2;
}