Posted
Filed under Action Script

 flash 컨텐츠를 작업 하다 보면 배포 하는 용도에 따라서 class file 즉 as 파일의 위치를  설정 해줘야 할 경우가 발생 한다. 그리고 상황에 따라서 어떤 일에 대한 다른 view를 만들기 위해서 설정 값에 의해서 실행하는 일들이 달라 진다고 했을 때 , 해당 클래스명을 받아 동적으로 생성하여 처리를 할 수 있다. 마치 java의 reflection과 비슷한 기능 이라 할 수 있을 거 같다.

 아래는 api에서 복사 했으며, 이것들을 이용하여 구현이 가능 하다.
hasDefinition을 통해서 해당 클래스가 존재 하는지 체크 후 , hasDefinition 메소드로 해당 클레스를
가져와 객체로 생성 하면 된다.

Creates a new application domain.
Checks to see if a public definition exists within the specified application domain.
Gets a public definition from the specified application domain.

google에서 검색해서 찾은 소스 이면 더 자세한 내용은 링크를 참조 하면되다.
[소스참조]  : http://snipplr.com/view.php?codeview&id=18147
var instance:Sprite;

if ( ApplicationDomain.currentDomain.hasDefinition("MyClassName") )
{
 var MyClass:Class = getDefinitionByName( "MyClassName" ) as Class;
 instance = new MyClass( params ) as Sprite;
}else {
 instance = new Sprite( params );
}

2010/01/30 17:12 2010/01/30 17:12