스크롤바 (예) scrollBar

private function scrollControl() {
   trace(" news resized");
   if (paperBox.height > scrollBg.height) {
    scrollBg.visible = true;
    scrollBg.alpha=1.0;
    scrollBar.visible=true;
    scrollBar.alpha=1.0;
    scrollBar.buttonMode=true;
    scrollBar.useHandCursor=true;
    scrollBar.scaleY = scrollBg.height / paperBox.height;
    scrollBar.addEventListener(MouseEvent.MOUSE_DOWN,barDrag);
    this.addEventListener(MouseEvent.MOUSE_UP,barDragStop);
    this.addEventListener(MouseEvent.MOUSE_WHEEL,wheelScroll);
   } else {
    scrollBg.alpha=0;
    scrollBar.visible=false;
   }
  }

  private function barDrag(e:MouseEvent):void {
   var rect:Rectangle=new Rectangle(scrollBg.x,scrollBg.y,0,scrollBg.height - scrollBar.height);
   scrollBar.startDrag(false,rect);
   scrollBar.addEventListener(Event.ENTER_FRAME,newsPaperScroll);

  }

  private function barDragStop(e:MouseEvent):void {
   scrollBar.stopDrag();
   scrollBar.removeEventListener(Event.ENTER_FRAME,newsPaperScroll);
  }

  private function newsPaperScroll(e:Event):void {
   paperBox.y = ((scrollBar.y-10)/(scrollBg.height - scrollBar.height))*(paperBox.height-scrollBg.height)*(-1)+10;
   //paperBox.y = - scrollBar.y + 20;
  }

  private function wheelScroll(e:MouseEvent):void{
   if(e.delta>0){
    if(scrollBar.y - 10 >0){
     scrollBar.y = scrollBar.y - 10;
    } else {
     scrollBar.y = scrollBg.y;
    }
    paperBox.y = ((scrollBar.y-10)/(scrollBg.height - scrollBar.height))*(paperBox.height-scrollBg.height)*(-1)+10;
   } else if (e.delta<0){
    if(scrollBar.y + 10 < scrollBg.y + scrollBg.height -scrollBar.height){
     scrollBar.y = scrollBar.y + 10;
    } else {
     scrollBar.y = scrollBg.y + scrollBg.height -scrollBar.height;
    }
    paperBox.y = ((scrollBar.y-10)/(scrollBg.height - scrollBar.height))*(paperBox.height-scrollBg.height)*(-1)+10;
   }
  }