ActionScript
Loader class 사용시 주의할 것...
미나토
2007. 6. 25. 13:43
as3 에서는 swf나 이미지 파일을 불러오기 위해서는 Loader class 를 사용하여야 한다.
var loader:Loader = new Loader();
loader.load(new URLRequest(파일명:String));
addChild(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 로 읽어야 한다는...