Study/Actionscript 3.02009. 2. 19. 21:12
ImageLoader라는 클라스를 만들어 외부 이미지를  load하는 과정을 해 보았다. 다음은 새로 만든 클라스(ImageLoader)의 전용 이벤트를 만들어 주고 이벤트 처리를 간소화 하여 그 효율성을 더욱 증가시키는 방법을 알아보도록 한다.

과정은 다음과 같다.
1.ImageLoaderEvent 생성 (package: timo.event  name:ImageLoaderEvent  superClass:Event)
2.ImageLoader 수정
3.ImageLoaderTest2 생성

***ImageLoader와 ImgeLoaderTest의 변화 양상을 비교해보면 이해하는 데 도움이 된다.






2.ImageLoaderTest2
1) 자신이 만든 class ( ImageLoader) 에 전용 이벤트를 만들어 주어 임의의 문자열("aaa", "yahoo")로 데이터 관련 정보를 주고 받는 것이 아닌 "이벤트 형식"으로 정보를 주고 받도록한다.

<이벤트 기본 틀>
     var aaa: AAA = new AAA();    
     aaa.addEventListener( AAAEvent.aaa,  onComplete  );
     aaa.loader.load("./aaa.jpg");

function onComplete (e:AAAEvent): void
{
//완료
}

아래와 같이 ImageLoaderTest1에서 작성했던 ImageLoaderText1 코딩을


ImageLoaderText2에서는 "이벤트 기본 틀"에 맞춰 변경한다.
 <이벤트 기본 틀>
     var  imgLoader: ImageLoader = new ImageLoader();
     imgLoader.addEventListener( ImageLoaderEvent.COMPLETE, onComplete );
     imgLoader.load( "./aaa.jpg" );
 
     function  onComplete( e: ImageLoaderEvent ): void
     {
         // 완료...
     }
즉 "aaa"와 같은 문자열 대신에 전용 "이벤트"를 써서 코딩하면 보다 깔끔하고 효율적인 데이터 처리가 가능하다.
(기존 이벤트의 기본 틀과의 통일성 유지, 임의의 문자열을 때문에 발생가능 한 "검색/확인/오류와 관련한 문제점" 방지)



아래와 같이 ImageLoaderTest1에서 작성했던 ImageLoader 클라스 코딩을


이와같이 변경한다. 이것은 코드를 단순화 시킨 것으로 실무에서는 아래와 같은 형식으로 많이 쓴다.




Posted by chacolina