Main.as 




package

{

import flash.display.Sprite;

public class Main extends Sprite

{

private var btn:TestBtn;

private var changeBtn:TestBtn;

public function Main()

{

btn = new TestBtn(0x0000ff);

btn.onClick = function():void

{

trace("A");

prevFunction = btn.onClick;

};

addChild(btn);

changeBtn = new TestBtn(0x00ffff);

changeBtn.onClick = changeSet;

addChild(changeBtn);

changeBtn.x = 100;

}

private var prevFunction:Function;

private var _isChange:Boolean;

private function changeSet():void

{

_isChange = !_isChange;

if(_isChange){

btn.onClick = function():void

{

trace("B");

};

}else{

btn.onClick = prevFunction;

prevFunction = null;

}

}

}

}














TestBtn



package

{

import flash.display.Sprite;

import flash.events.MouseEvent;

public class TestBtn extends Sprite

{

public function TestBtn( $color:uint )

{

super();

buttonMode = true;

graphics.beginFill( $color );

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

graphics.endFill();

addEventListener( MouseEvent.CLICK, btnClick);

}

public var onClick:Function;

protected function btnClick(event:MouseEvent):void

{

if(onClick != null)

onClick();

}

}

}

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

localToGlobal  (0) 2013.03.14
Function 전달.  (0) 2013.03.06
FLV 재생의 원리.  (3) 2010.09.02
플래시 기준으로 경로 맞추기  (0) 2010.06.23
input 텍스트 박스, 파이어폭스에서 한글 깨짐 방지.  (0) 2010.06.17

+ Recent posts