Вот класс для создания и удаления кнопок.

Код AS3:
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.MouseEvent;
public class Cbutton extends MovieClip {
private var _bDown:Boolean=false;
private var _oDownButon:Object=new Object ;
public function Cbutton(But,x:int,y:int) {
// constructor code
onButtonCreate(But,x,y);
}
private function onButtonCreate(But,x:int,y:int):void {
addChild(But);
But.stop();
But.x=x;
But.y=y;
But.addEventListener(MouseEvent.MOUSE_OVER, onMouseEvent);
But.addEventListener(MouseEvent.MOUSE_OUT, onMouseEvent);
But.addEventListener(MouseEvent.MOUSE_DOWN, onMouseEvent);
}
internal function onButtonDelete(But:MovieClip):void {
But.removeEventListener(MouseEvent.MOUSE_OVER, onMouseEvent);
But.removeEventListener(MouseEvent.MOUSE_OUT, onMouseEvent);
But.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseEvent);
removeChild(But);
}
private function onMouseEvent(event:MouseEvent):void {
switch (event.type) {
case MouseEvent.MOUSE_OVER :
if (_bDown&&_oDownButon==event.target) {
_oDownButon.gotoAndStop(3);
} else {
event.target.gotoAndStop(2);
}
break;
case MouseEvent.MOUSE_OUT :
event.target.gotoAndStop(1);
break;
case MouseEvent.MOUSE_DOWN :
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseEvent);
_oDownButon=event.target;
event.target.gotoAndStop(3);
_bDown=true;
break;
case MouseEvent.MOUSE_UP :
if (!(event.target is Stage)) {
event.target.gotoAndStop(2);
}
stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseEvent);
_bDown=false;
break;
}
}
}
}
А здесь, вызов класса.

Код AS3:
package {
import flash.display.MovieClip;
import flash.display.Sprite;
public class CLButton extends MovieClip {
private var sClip:Sprite=new Sprite ;
private var _mcButton0:mcButton=new mcButton ;
private var _mcButton1:mcButton1=new mcButton1 ;
private var _mcButton2:mcButton=new mcButton ;
private var _mcButton3:mcButton1=new mcButton1 ;;
var _Cbutton0:Cbutton=new Cbutton(_mcButton0,0,0);
var _Cbutton1:Cbutton=new Cbutton(_mcButton1,100,0);
var _Cbutton2:Cbutton=new Cbutton(_mcButton2,100,100);
var _Cbutton3:Cbutton=new Cbutton(_mcButton3,0,100);
public function CLButton() {
// constructor code
addChild(sClip);
sClip.x=100;
sClip.y=100;
_Cbutton0.buttonMode=true;
sClip.addChild(_Cbutton0);
sClip.addChild(_Cbutton1);
sClip.addChild(_Cbutton2);
sClip.addChild(_Cbutton3);
_Cbutton0.onButtonDelete(_mcButton0);
//_Cbutton1.onButtonDelete(_mcButton1);
}
}
}