플래시2007. 5. 25. 11:32

만들어야 할 클래스 인스턴스들이 반복적으로 많아질때

(그림 파일 100개를 인스턴스로 올려야 하거나, 새로운 오브젝트들 인스턴드들이 반복적으로 필요 할때)

코드 중복 해악을 막기 위한 방법이 뭐가 있을까 고민 되어

참조 할만한게 뭐가 있을지 찾아 봤습니다.

 

그러니까 eval() 을 썻던것 처럼

이름을 파라메터로 넘기면 클래스 레퍼런스를 리턴 해줍니다.

 

getDefinitionByName(name:String):Object

 

--- Flex 2 Language Reference 의  Example -----------------------

package {
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.utils.getDefinitionByName;

    public class GetDefinitionByNameExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint = 80;

        public function GetDefinitionByNameExample() {
            var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
            var instance:Object = new ClassReference();
            instance.graphics.beginFill(bgColor);
            instance.graphics.drawRect(0, 0, size, size);
            instance.graphics.endFill();
            addChild(DisplayObject(instance));
        }
    }
}



여기서 eval() 이 중요하다 한참때 헤매다가 겨우 찾아낸거 ~

Posted by 동동(이재동)