as3 에서는 swf나 이미지 파일을 불러오기 위해서는 Loader class 를 사용하여야 한다.

var loader:Loader = new Loader();
loader.load(new URLRequest(파일명:String));
addChild(loader);

이런식이다. 뭐, 잘 불러진다.

그럼 Event.COMPLETE 이벤트를 발생하기 위해서는 어찌해야 할까나...



loader.addEventListener(Event.COMPLETE, handler);

이렇게? 얼핏 보면 맞아보이고 컴파일 단이든 런타임 단이든 에러도 발생하지 않지만 정작 이벤트는 발생하지 않는다.
이벤트는 다음과 같이 작성해야만 발생한다. (이걸 몰라 레퍼런스를 찾기 전까지 몇분간 해맸다는... 역시 구글신과 맞짱뜨시는 레퍼런스 신이시다)



loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handler);


contentLoaderInfo:LoaderInfo 라는 속성에 이벤트를 걸어줘야 제대로 동작한다.


왜 이렇게 만들었는 지는 잘 모르겠으나 어도비를 탓하기 전에 레퍼런스를 정독해야지 뭐...


ps. 불러온 녀석의 클래스 타입을 알기 위해서는 loader.content:DisplayObject 로 읽어야 한다는...

'ActionScript 3' 카테고리의 다른 글

Papervision3D Flash CS3 Components Released  (0) 2007.06.29
Load 한 swf 파일의 속성 읽기  (0) 2007.06.25
그림 외각선 따기...  (0) 2007.06.22
Bitmap 공부...  (0) 2007.06.22
as3 관련 문서 몇가지  (0) 2007.06.20
Posted by 미나토
: