muchas gracias Mahalo, la verdad es que no se me ha ocurrido lo del onEnterFrame, además de esto añado otro listener en masPulsado() porque tal y como está, si pulsa el botón y te sales de su zona si levantar el dedo, pues si luego te pones sobre él, actúa sin que lo pulses.
Código:
mas_btn.addEventListener(MouseEvent.MOUSE_DOWN, masPulsado);
mas_btn.addEventListener(MouseEvent.MOUSE_UP, masLiberado);
function masPulsado(event:MouseEvent):void {
addEventListener(Event.ENTER_FRAME, onEnterFrame);
this.mas_btn.addEventListener(MouseEvent.MOUSE_OUT, masLiberado);
}
function masLiberado(event:MouseEvent):void {
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}
function onEnterFrame(event:Event):void {
barra.width += 4;
// y aquí el resto de variaciones.
}