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 |