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
Loader class 사용시 주의할 것...  (0) 2007.06.25
그림 외각선 따기...  (0) 2007.06.22
Bitmap 공부...  (0) 2007.06.22
as3 관련 문서 몇가지  (0) 2007.06.20
Posted by 미나토

댓글을 달아 주세요