Custom Button

How to create coustom button using AS3 ? I want to create a Custom class which is derived from Button class.

u can create a button from MovieClip, just create right listeners

on worker field (4 frames clip has text dynamic instance name mur_caption, has lincage class My_button_mc) is prescribed in file
My_button_mc.as


//My_button_mc.as
package 
{ 
     import flash.display.MovieClip; 
     import flash.events.Event; 
     import flash.events.MouseEvent; 
     import flash.text.TextField;	 
     import flash.text.TextFormat;
     import flash.text.TextFieldAutoSize;	
	 
     dynamic public class My_button_mc extends MovieClip 
      {
           var button_func:Function;
           var up_mc,mid_mc:MovieClip;
           public function My_button_mc(my_caption:String,my_func:Function) //
           { 
           frame_4.gotoAndStop(1);
           up_mc = new MovieClip();
           mid_mc = new MovieClip();
           up_mc.graphics.beginFill(0xFF);		   
           up_mc.graphics.drawRect(0,0,frame_4.width,frame_4.height);
           up_mc.alpha=0;
           addChild(up_mc);
           up_mc.buttonMode=true;
           up_mc.addEventListener(MouseEvent.ROLL_OVER, on_roll); 	
           up_mc.addEventListener(MouseEvent.ROLL_OUT, on_roll_out); 	
           up_mc.addEventListener(MouseEvent.MOUSE_DOWN, on_down); 			
           up_mc.addEventListener(MouseEvent.MOUSE_UP, on_up); 							
		   

           mur_caption.text=my_caption;
   
           button_func=my_func;
           } 
		   
           private function on_roll(evt:MouseEvent):void 
           { 
           trace("on"); 			
           frame_4.gotoAndStop(2);
           }

           private function on_roll_out(evt:MouseEvent):void 
           { 
           trace("out"); 		
           frame_4.gotoAndStop(0);
	
           } 		   

           private function on_down(evt:MouseEvent):void 
           { 
           trace("down"); 	   
           frame_4.gotoAndStop(3);
           } 		

           private function on_up(evt:MouseEvent):void 
           { 
           trace("up"); 						   
           frame_4.gotoAndStop(1);
		   button_func();
           } 	
      }  
} 

in first frame exsample


var my_but= new My_button_mc("stop",my_func_stop);
addChild(my_but);
with (my_but) {x=10;y=10; scaleX=0.5; scaleY=0.5;}
function my_func_stop()
{
my_cube.anim_stop();
}

source
http://kind-armadillo.pochta.ru/FlaAC3/mur_cube.swf
http://kind-armadillo.pochta.ru/FlaAC3/cube.rar