Почитал и решил под редактировать с учетом написанного.
Еще раз под редактировал.

Код AS3:
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.MouseEvent;
public class Cbutton extends MovieClip {
private var _mcButton:mcButton=new mcButton ;
private var _mcButton1:mcButton1=new mcButton1 ;
private var _Down:Boolean=false;
private var _DownButon:Object=new Object ;
public function Cbutton():void {
// constructor code
onButtonCreate(_mcButton,100,100);
onButtonCreate(_mcButton1,200,100);
}
private function onButtonCreate(But:MovieClip,x:int,y:int):void {
addChild(But);
But.stop();
But.x=x;
But.y=y;
this.addEventListener(MouseEvent.MOUSE_OVER, onMouseEvent);
this.addEventListener(MouseEvent.MOUSE_OUT, onMouseEvent);
this.addEventListener(MouseEvent.MOUSE_DOWN, onMouseEvent);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseEvent);
}
private function onMouseEvent(event:MouseEvent):void {
trace(event.target);
switch (event.type) {
case MouseEvent.MOUSE_OVER :
if (_Down&&_DownButon==event.target) {
_DownButon.gotoAndStop(3);
} else {
event.target.gotoAndStop(2);
}
break;
case MouseEvent.MOUSE_OUT :
event.target.gotoAndStop(1);
break;
case MouseEvent.MOUSE_DOWN :
_DownButon=event.target;
event.target.gotoAndStop(3);
_Down=true;
break;
case MouseEvent.MOUSE_UP :
if (!(event.target is Stage)) {
event.target.gotoAndStop(2);
}
_Down=false;
break;
}
}
}
}