ok beginFill no es para eso, simplemente el comienza a rellenar con el color y alpha identicado(es decir, el no controla una parte ya rellenada) por parametro la zona en que se pasa cuando uses lineTo, curveTo, etc. todos de la Drawing API de Flash, te sugiero que leas sobre esto bien en la ayuda de Flash.
Código :
function rectangulo (x:Number, y:Number, ancho:Number, alto:Number, color:Number, alpha:Number):MovieClip{
var prof:Number = this.getNextHighestDepth();
var aux:MovieClip = this.createEmptyMovieClip("aux"+prof,prof);
with (aux){
_x=x;
_y=y;
moveTo(0,0);
beginFill(color,alpha);
lineTo(0,alto);
lineTo(ancho, alto);
lineTo(ancho, 0);
endFill();
}
return aux;
}
var boton:MovieClip = rectangulo(10,10,50,20,0xCCCCCC,100);
var sobre:MovieClip;
boton.onRollOver = function (){
sobre = rectangulo(this._x+this._width,this._y+this._height+10,50,20, 0x000000, 10);
}
boton.onRollOut = function (){
sobre._alpha = 0;
}saludos