Search Results for 'Loader class'


2 POSTS

  1. 2007/06/25 Load 한 swf 파일의 속성 읽기
  2. 2007/06/25 Loader class 사용시 주의할 것...

Load 한 swf 파일의 속성 읽기

Posted 2007/06/25 14:34 by 미나토
일단 다음을 기본으로 깔아주고...

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(new URLRequest(swf 파일명));



타임라인에 속성이 있을 경우...

function complete(e:Event):void
{
 var mc:MovieClip = MovieClip(loader.content)
 trace(mc.속성명)
}




Document class 가 있는 swf 파일을 불러왔을 경우...(Document class 명이 Main 이라면...)

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(new URLRequest(swf 파일명));

function complete(e:Event):void
{
 var main:Main = Main(loader.content)
 trace(main.속성명)
}


헤맬 필요 없다. 간단하다...
크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : as3, Loader class

Loader class 사용시 주의할 것...

Posted 2007/06/25 13:43 by 미나토

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 로 읽어야 한다는...
크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : as3, contentLoaderInfo, Loader class