package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.MouseEvent; import flash.display.MovieClip; public class RemoveChild extends Sprite { private var sprite:Sprite; public function RemoveChild() { init(); } private function init():void { sprite = new Sprite(); addChild(sprite); sprite.graphics.beginFill( 0xff0000); sprite.graphics.drawRect( 0, 0, 100, 100 ); sprite.graphics.endFill(); sprite.x = 100; sprite.y = 100; stage.addEventListener( MouseEvent.CLICK, onClickHandler ); } private function onClickHandler( event:MouseEvent ):void { removeDisplayObject(stage, sprite, MouseEvent.CLICK, onClickHandler); } private function removeDisplayObject(inParent:DisplayObject, inDS:DisplayObject, inType:String, inFunc:Function):void { inParent.removeEventListener(inType, inFunc); removeChild(inDS); } } }
removeChild와 removeEventListener 를 함수로 등록하여 효율적으로 메모리상에서 제거하는 함수를 만들었다.
'AS3 > ActionScript' 카테고리의 다른 글
switch 문과 산순연살자를 이용하여 계산기 만들기 (3) | 2009.04.20 |
---|---|
Array 함수를 이용해서 무비클립 복제와 Drag시키기 (0) | 2009.04.20 |
키보드 제어 (0) | 2009.04.20 |
사인/코사인을 이용한 원그리기 (8) | 2009.03.15 |
두점 사이 거리값 구하기 (0) | 2009.03.14 |