Study/Actionscript 3.02010. 7. 6. 21:55

flash AS 3.0도움말에는 이렇게 정의 되어 있습니다.

 

Event.INIT

로드된 SWF 파일의 속성 및 메서드에 액세스할 수 있을 때 전달됩니다. 다음 두 조건이 존재할 경우 LoaderInfo 객체는 init이벤트를 전달합니다.

  • 로드된 객체와 연관된 모든 속성 및 메서드, 그리고 LoaderInfo 객체와 연관된 모든 속성 및 메서드에 액세스 가능합니다.
  • 모든 자식 객체의 생성자가 완료되었습니다.

init 이벤트는 항상 complete 이벤트 이전에 전달됩니다.

 

Event.COMPLETE

데이터가 성공적으로 로드되면 전달됩니다. complete 이벤트는 항상 init 이벤트 이후에 전달됩니다.

 

 

PC상에서 테스트 할경우에는 별다른 차이를 느낄수 없지만, 서버에 올라간 상태라면 두가지 상태는 엄연히 달라집니다.

 

그래서 한가지 테스트를 했습니다.

 

약 6Mb 정도의 test.swf을 로드해보았습니다.

 

소스는 아래와 같습니다.

 

 

 

INIT 이벤트와 COMPLETE 이벤트가 발생 했을때 이벤트의 이름을 찍고 count 값을 찍도록 하였습니다.

 

한번은 그냥 실행을 시켰고, 그 다음번은 T1 ( 131.2Kb/s) 속도로 테스트를 했습니다.

 

결과는 다음과 같습니다.

 

 

 

Loader를 사용할때에는 Event.INIT 상태에 필요한 작업 ( 좌표 혹은 스케일값 조정등 ) 을 하는 것이 옳다고 생각됩니다.

 

COMPLETE 이벤트가 발생했을때에는 아직 swf 내용은 재생중이었고, 로딩만이 다된 상태였습니다.

Posted by chacolina