Ciao a tutti,
sto iniziando a vedere flash e l'uso delle classi, vorrei avere un grande chiarimento.
Io sto richiamando un file .as (sotto riportato) che mi consente di importare nel filmato un campo di testo ridimensionabile.
Il richiamo lo faccio mettendo il nome della classe dentro le proprietà del filmato principale, se io invece volessi richiamare o meglio "avviare" la classe tramite pulsante, come dovrei fare?


codice:
package {
 
	import flash.display.Sprite;
	import flash.display.MovieClip;
	//for text format
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.text.TextFormatAlign;
	import flash.text.TextFieldType;	
	import flash.text.AntiAliasType;
	
	import flash.events.MouseEvent;
	import flash.events.FocusEvent;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
 
	public class ResizableTextField extends MovieClip {
 
		private var textCustomField:TextField;
 
		//handles
		private var square1:Sprite;
		private var square2:Sprite;
		private var square3:Sprite;
		private var square4:Sprite;
		private var square5:Sprite;
		private var square6:Sprite;
		private var square7:Sprite;
		private var square8:Sprite;
 
		//dragging
		private var origX:int;
		private var origY:int;
		private var dragTimer:Timer = new Timer(10,10000);
		private var handleHolder:Object;
		private var txtClicked:Boolean = false;
		
		//text format
		public var myFont = new Font1();
		private var myFormat:TextFormat = new TextFormat();
 
		// Initialization:
		public function CreateTextField()
		{
			
		}
		public function ResizableTextField()
		{
			
			//text format set
			myFormat.size = 15;
			myFormat.font = myFont.fontName;

			textCustomField = new TextField();
			textCustomField.defaultTextFormat = myFormat;
			
			textCustomField.embedFonts = true;
			textCustomField.antiAliasType = AntiAliasType.ADVANCED;
			textCustomField.type = TextFieldType.INPUT;
			textCustomField.multiline = true;
			textCustomField.wordWrap = true;
			textCustomField.width=200;
			textCustomField.height=100;
			textCustomField.x=50;
			textCustomField.y=50;
			textCustomField.text="Type here";
			textCustomField.border=true;
			textCustomField.borderColor=0x32B5FE;
			createHandles();
			this.addChild(textCustomField);
			textCustomField.addEventListener(MouseEvent.CLICK,txtClick) 
		}
		
		//remove type here text
		private function txtClick(event:MouseEvent):void
		{
			if(txtClicked == false)
			{
			event.target.text = "";
			txtClicked = true;
			}
		}

		
		//create 4 draggable handles
		private function createHandles():void
		{
 
			square1 = new Sprite();
			square1.graphics.lineStyle(1,0x32B5FE);
			square1.graphics.beginFill(0xFFFFFF);
			square1.graphics.drawRect(0,0,4,4);
			square1.graphics.endFill();
 
			square2 = new Sprite();
			square2.graphics.lineStyle(1,0x32B5FE);
			square2.graphics.beginFill(0xFFFFFF);
			square2.graphics.drawRect(0,0,4,4);
			square2.graphics.endFill();
 
			square3 = new Sprite();
			square3.graphics.lineStyle(1,0x32B5FE);
			square3.graphics.beginFill(0xFFFFFF);
			square3.graphics.drawRect(0,0,4,4);
			square3.graphics.endFill();
 
			square4 = new Sprite();
			square4.graphics.lineStyle(1,0x32B5FE);
			square4.graphics.beginFill(0xFFFFFF);
			square4.graphics.drawRect(0,0,4,4);
			square4.graphics.endFill();
			
			square5 = new Sprite();
			square5.graphics.lineStyle(1,0x32B5FE);
			square5.graphics.beginFill(0xFFFFFF);
			square5.graphics.drawRect(0,0,4,4);
			square5.graphics.endFill();
 
			square6 = new Sprite();
			square6.graphics.lineStyle(1,0x32B5FE);
			square6.graphics.beginFill(0xFFFFFF);
			square6.graphics.drawRect(0,0,4,4);
			square6.graphics.endFill();
 
			square7 = new Sprite();
			square7.graphics.lineStyle(1,0x32B5FE);
			square7.graphics.beginFill(0xFFFFFF);
			square7.graphics.drawRect(0,0,4,4);
			square7.graphics.endFill();
 
			square8 = new Sprite();
			square8.graphics.lineStyle(1,0x32B5FE);
			square8.graphics.beginFill(0xFFFFFF);
			square8.graphics.drawRect(0,0,4,4);
			square8.graphics.endFill();
 
			updateHandlePositions();
 
			this.addChild(square1);
			square1.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square1.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
 
			this.addChild(square2);
			square2.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square2.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
 
			this.addChild(square3);
			square3.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square3.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
 
			this.addChild(square4);
			square4.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square4.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
			
			this.addChild(square5);
			square5.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square5.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
			
			this.addChild(square6);
			square6.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square6.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
			
			this.addChild(square7);
			square7.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square7.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
			
			this.addChild(square8);
			square8.buttonMode=true;
			this.addEventListener(FocusEvent.FOCUS_OUT,hideHandles);
			square8.addEventListener(MouseEvent.MOUSE_DOWN,startHandleDrag);
		}
 
		private function hideHandles(e:FocusEvent):void
		{
			square1.alpha=0;
			square2.alpha=0;
			square3.alpha=0;
			square4.alpha=0;
			square5.alpha=0;
			square6.alpha=0;
			square7.alpha=0;
			square8.alpha=0;
			this.textCustomField.border=false;
			this.addEventListener(MouseEvent.MOUSE_OVER,showHandles);
		}
 
		private function showHandles(e:MouseEvent):void
		{
			square1.alpha=1;
			square2.alpha=1;
			square3.alpha=1;
			square4.alpha=1;
			square5.alpha=1;
			square6.alpha=1;
			square7.alpha=1;
			square8.alpha=1;
			this.textCustomField.border=true;
			textCustomField.borderColor=0x32B5FE;
		}
 
		private function startHandleDrag(e:MouseEvent):void
		{
			handleHolder=e.target;
			origX=mouseX;
			origY=mouseY;
			dragTimer.addEventListener(TimerEvent.TIMER, resizeField);
            dragTimer.start();
		}
 
		private function stopHandleDrag(e:MouseEvent):void
		{
			removeEventListener(MouseEvent.MOUSE_UP,stopHandleDrag);
			dragTimer.stop();
			dragTimer.reset();
		}
		// resize text field depending on which direction dragging
		private function resizeField(e:TimerEvent):void
		{
			addEventListener(MouseEvent.MOUSE_UP,stopHandleDrag);
			var updatedX:int = mouseX-origX;
			var updatedY:int = mouseY-origY;
			if(handleHolder===square1)
			{
				this.textCustomField.width-=updatedX;
				this.textCustomField.height-=updatedY;
				this.textCustomField.x+=updatedX;
				this.textCustomField.y+=updatedY;
			}
			else if(handleHolder===square2)
			{
				this.textCustomField.width+=updatedX;
				this.textCustomField.height-=updatedY;
				this.textCustomField.y+=updatedY;
			}
			else if(handleHolder===square3)
			{
				this.textCustomField.width-=updatedX;
				this.textCustomField.height+=updatedY;
				this.textCustomField.x+=updatedX;
			}
			else if(handleHolder===square4)
			{
				this.textCustomField.width+=updatedX;
				this.textCustomField.height+=updatedY;
			}
			else if(handleHolder===square5)
			{
				this.textCustomField.height-=updatedY;
				this.textCustomField.y+=updatedY;
			}
			else if(handleHolder===square6)
			{
				this.textCustomField.width+=updatedX;
				//this.textCustomField.y+=updatedY;
			}
			else if(handleHolder===square7)
			{
				this.textCustomField.height+=updatedY;
			}
			else if(handleHolder===square8)
			{
				this.textCustomField.width-=updatedX;
				this.textCustomField.x+=updatedX;				
			}
 
			origX=mouseX;
			origY=mouseY;
			updateHandlePositions();
			e.updateAfterEvent();
		}
		//adjust handles to the new size/position
		private function updateHandlePositions():void
		{
			square1.x=textCustomField.x-square1.width+3;
			square1.y=textCustomField.y-square1.height+3;
			square2.x=textCustomField.x+textCustomField.width-2;
			square2.y=textCustomField.y-square2.width+3;
			square3.x=textCustomField.x-square3.height+3;
			square3.y=textCustomField.height+textCustomField.y-2;
			square4.x=textCustomField.x+textCustomField.width-2;
			square4.y=textCustomField.height+textCustomField.y-2;
			
			//
			square5.x=textCustomField.x-square1.width+(textCustomField.width/2);
			square5.y=textCustomField.y-square1.height+3;
			square6.x=textCustomField.x-square1.width+textCustomField.width+3;
			square6.y=textCustomField.y-square1.height+(textCustomField.height/2);
			square7.x=textCustomField.x-square1.width+(textCustomField.width/2)+3;
			square7.y=textCustomField.y-square1.height+textCustomField.height+3;
			square8.x=textCustomField.x-square1.width+3;
			square8.y=textCustomField.y-square1.height+(textCustomField.height/2);
			
		}
	}
 
}