# How can you generate buttons from an external class

**URL:** <https://forum.kirupa.com/t/how-can-you-generate-buttons-from-an-external-class/320252>\
**Category:** Uncategorized\
**Created:** [March 18, 2011, 5:42am UTC](https://forum.kirupa.com/t/how-can-you-generate-buttons-from-an-external-class/320252 "2011-03-18T05:42:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cheech](https://avatars.discourse-cdn.com/v4/letter/c/a3d4f5/32.png) [@cheech](https://forum.kirupa.com/u/cheech)\
**Post date:** [March 18, 2011, 5:42am UTC](https://forum.kirupa.com/t/how-can-you-generate-buttons-from-an-external-class/320252/1 "2011-03-18T05:42:25Z")

</div>

I am kinda new to flash and still trying to learn and now I am trying to generate an invisible button and I want it to be reusable and would be in an external class…

I have a Main.fla with Main.as and an External Class.

The External class codes:

```auto
package com.ui
{
	import flash.display.Sprite;
	
	public class CreateInviBtn extends Sprite
	{
		
		public function CreateInviBtn(name:String, xPos:Number, yPos:Number, width:Number, height:Number, shape:String = "R")
		{
			
			switch(shape) {
				case "R":
					createRect(name, xPos, yPos, width, height);
					break;
				case "E":
					createEllipse(name, xPos, yPos, width, height);
					break;
				}
		}
		
		private function createRect(name:String, xVal:Number, yVal:Number, w:Number, h:Number):Sprite
		{
			var btn:Sprite = new Sprite();
			btn.graphics.beginFill(0x00FFFF);
			btn.graphics.drawRect(xVal, yVal, w, h);
			btn.graphics.endFill();
			btn.buttonMode = true;
			btn.alpha = 1;
			return btn;
		}
		
		private function createEllipse(name:String, xVal:Number, yVal:Number, w:Number, h:Number):Sprite
		{
			var btn:Sprite = new Sprite();
			btn.graphics.beginFill(0x00FFFF);
			btn.graphics.drawEllipse(xVal, yVal, w, h);
			btn.graphics.endFill();
			btn.buttonMode = true;
			btn.alpha = 1;
			return btn;
		}
		
	}
	
}

```

I tried this in my Main.as but it doesn’t work:

```auto
btn = new CreateInviBtn("button", 10, 10, 100, 100, "R");
this.addChild(btn);

```

help…
