Это вроде как беспорядок, но я думаю, вам все равно не понадобится все это.
MovieClip содержит клип с именем экземпляра.
Ползунок (он находится в меню «Компоненты») имеет ползунок имени экземпляра и в свойствах
максимальное значение 100.
6 кнопок имеют имена экземпляров playBtn, stopBtn, reverseBtn, fastBtn, slowerBtn
и они делают то, что предлагают имена ^^.
Используйте это как скрипт кадра:
import fl.events.*;
import fl.controls.*;
clip.stop();
//slider
var slider:Slider;
slider.liveDragging=true;
slider.addEventListener(SliderEvent.CHANGE, sliderListener);
slider.addEventListener(SliderEvent.THUMB_PRESS, stopListener);
slider.addEventListener(SliderEvent.THUMB_RELEASE, playListener);
//update thumb
clip.addEventListener(Event.ENTER_FRAME, enterFrameListener);
//buttons
playBtn.addEventListener(MouseEvent.CLICK,playListener);
stopBtn.addEventListener(MouseEvent.CLICK,stopListener);
reverseBtn.addEventListener(MouseEvent.CLICK,reverseListener);
fasterBtn.addEventListener(MouseEvent.CLICK,faster);
slowerBtn.addEventListener(MouseEvent.CLICK,slower);
var speed:int=1;
var lastSpeed:int=1;
//when slider value changes
function sliderListener(event:SliderEvent):void{
var frame:Number = Math.round(clip.totalFrames*event.value/100);
clip.gotoAndStop(frame);
}
function playListener(event:Event){speed=lastSpeed} //playBtn or release Thumb
function stopListener(event:Event){lastSpeed=speed;speed=0}//stopBtn or press Thumb
function reverseListener(event:Event){speed*=-1}//reverseBtn
function faster(event:Event){speed++}//fasterBtn
function slower(event:Event){speed--}//slowerBtn
function enterFrameListener(event:Event){
if(speed!=0){
if(clip.currentFrame+speed<1){
clip.gotoAndStop(clip.totalFrames+speed+1);
}else if(clip.currentFrame+speed>clip.totalFrames){
clip.gotoAndStop(0+speed);
}else{
clip.gotoAndStop(clip.currentFrame+speed);
}
slider.value=Math.round(clip.currentFrame/clip.totalFrames*100);
}
}
Как я только что увидел, ваш скрипт as2 имеет ускоренную перемотку вперед. Итак, вот дополнительный сценарий для ffBtn:
ffBtn.addEventListener(MouseEvent.MOUSE_DOWN,ffStartListener);
ffBtn.addEventListener(MouseEvent.MOUSE_UP,ffEndListener);
ffBtn.addEventListener(MouseEvent.MOUSE_OUT,ffEndListener);
var ff:Boolean=false;
function ffStartListener(event:Event){ff=true;speed*=2};
function ffEndListener(event:Event){
if(ff){
speed/=2;
ff=false;
}
}
Смотрите .swf здесь: http://swftly.com/slider