package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
public class Main extends Sprite
{
public static const SEEKING:String = "seeking";
public static const FINISHED_SEEKING:String = "finishedSeeking";
public var playhead:Sprite;
public function Main()
{
this.graphics.beginFill(0xCCCCCC, 1);
this.graphics.drawRect(0, 0, 100, 20);
playhead = new Sprite();
playhead.graphics.beginFill(0x0000ff, 1);
playhead.graphics.drawRect(0, 0, 20, 20);
addChild(playhead);
playhead.x = -10;
playhead.addEventListener(MouseEvent.MOUSE_DOWN, beginDrag);
}
private function beginDrag(mouseEvent:MouseEvent):void
{
playhead.startDrag(false, new Rectangle(0, 0, width, height));
playhead.addEventListener(MouseEvent.MOUSE_UP, stopDragPlayhead);
var event:Event = new Event("seeking");
dispatchEvent(event);
}
private function stopDragPlayhead(mouseEvent:MouseEvent):void
{
playhead.stopDrag();
var event:Event = new Event("finishedSeeking");
dispatchEvent(event);
}
public function updatePlayhead(number:Number):void
{
playhead.x = number;
}
}
}