Display.as


package

{

import flash.display.Sprite;

import flash.events.MouseEvent;

public class Display extends Sprite

{

protected var thisName:String;

public function Display()

{

super();

}

public function setData( $color:uint ):void

{

buttonMode = true;

setting( $color );

addEventListener( MouseEvent.CLICK, clickHandler );

}

protected function setting( $color:uint ):void

{

thisName = "Display";

graphics.beginFill( $color );

graphics.drawRect(0, 0, 100, 100);

graphics.endFill();

}

public var onClick:Function;

protected function clickHandler(e:MouseEvent):void

{

if( onClick != null )

onClick( thisName );

}

}

}






A.as


package

{

public class A extends Display

{

public function A()

{

super();

}

override protected function setting(  $color:uint ):void

{

thisName = "A";

graphics.beginFill( $color );

graphics.drawRect( 0, 0, 100, 100 );

graphics.endFill();

}

}

}






B.as


package

{

public class B extends Display

{

public function B()

{

super();

}

}

}






Main.as


package

{

import flash.display.Sprite;

import flash.filters.DisplacementMapFilter;

public class Main extends Sprite

{

public function Main()

{

var _a:Display = new A();

_a.setData( 0x000000 );

addChild( _a );

var _b:Display = new B();

_b.setData( 0x000000 );

addChild( _b );

_b.x = 200;

_a.onClick = onClick;

_b.onClick = onClick;

}

private function onClick( $name:String ):void

{

trace( $name ); // A, Display

}

}

}


'ActionScript3.0 > As3.0' 카테고리의 다른 글

CallBack Function  (0) 2013.03.14
localToGlobal  (0) 2013.03.14
Function 전달.  (0) 2013.03.06
Function 참조.  (0) 2013.03.04
FLV 재생의 원리.  (3) 2010.09.02

+ Recent posts