Mouseover scroller

I’m trying to build a build a menu of video buttons that scrolls on mouseover. So I have invisible buttons on top and bottom, which works fine but it’s kind of choppy and only has two speeds, forward and reverse. Is there a better way to write the code so it’s smoother? Also, I’d like to make it variable speed so the further you move from the center the faster it moves up or down.

Also, the individual buttons in the menu have their own mouseovers, how does Flash deal with overlapping buttons? Does it send simultaneous MOUSE_OVER events to everything in the display list or only the top button, even if it’s visually transparent?

Here’s the code, many thanks!!!


//SCROLLER

var timerMoveUp:Timer = new Timer(10);
timerMoveUp.addEventListener(TimerEvent.TIMER, movingUp);

var timerMoveDown:Timer = new Timer(10);
timerMoveDown.addEventListener(TimerEvent.TIMER, movingDown);

btnBottom1.addEventListener(MouseEvent.MOUSE_OVER, moveUp);
btnBottom1.addEventListener(MouseEvent.MOUSE_OUT, moveUpStop);
btnTop1.addEventListener(MouseEvent.MOUSE_OVER, moveDown);
btnTop1.addEventListener(MouseEvent.MOUSE_OUT, moveDownStop);

function moveUp(evt:MouseEvent):void {
    timerMoveUp.start();
}

function movingUp(evt:TimerEvent):void {
    if (vm.y >= -200){
        vm.y -= 8;
    }
}

function moveUpStop(evt:MouseEvent):void {
    timerMoveUp.stop();
}

function movingDown(evt:TimerEvent):void {
    if (vm.y < 110) {
        vm.y += 8;
    }
}

function moveDown(evt:MouseEvent):void {
    timerMoveDown.start();
}
                                    
function moveDownStop(evt:MouseEvent):void {
    timerMoveDown.stop();
}