본문 바로가기

플래시(Flash) LoadMovie 를 대체할수 있는 LoadClip에 대해서

반응형

 


LoadMovie 를 대체할수 있는 LoadClip에 대해서

 

이전에 loadMovie 관련하여 무비간의 변수 엑세스에 관한 포스팅을 한적이 있습니다.

loadMovie시 변수 접근에대해 문제를 발견 한 후 헬프파일을 이것저것 뒤지다가 물론 loadMovie에서도 처리하는 방법이 있기는 한데 loadClip이라는 방법이 있길래 적어 봅니다.

아시는 분들도 많으 시겠지만 그냥 적을래요. 

mov1.swf, mov2.swf 2가지 파일이 있습니다. mov1.swf는 num 이라는 Number형의 변수를 가진 무비입니다. 값은 13으로 초기화 되어 있고요.

 

 

mov2.swf 는 mov1.swf를 로드하여 mov1.swf상의 num값을 출력 해보도록 하겠습니다. 일단 기본 액션은 이렇습니다.

 

 

 

일단 MovieClipLoader 객체가 필요 합니다. 그래서 생성자를 이용하여 만들어 준후, Listener 용 Object 타입의 객체도 만들어 줍니다.

 별거없이 그냥 기본형 Object 객체를 만들어 줍니다.

그후 MovieClipLoader 에 addListener 로 listener 객체를 걸어주고 loadClip 해서 무비를 로드해 줍니다.

loadClip의 사용법은 loadMovie와 같습니다. url, target 형태의 매개변수를 받지요.

1이라는 의미는 _level1에 넣어 준다는 의미고요. 여기서 콜백함수를 선언해 줄수 있는데 몇가지 경우가 있습니다.

onLoadComplete, onLoadInt, onLoadError, onLoadProgress, onLoadStart 이렇게 콜백을 선언해 줄 수 있습니다. 위의 예제에서 보시게 되면 onLoadComplete, onLoadInit 이 정의 되어 있습니다.

onLoadComplete 상황을 정의에 보게 되면 대상이 되는 MovieClip과 Number형의 httpstatus 가 매개변수로 받게 됩니다.

httpstatus에 대해서는 ftp://ftp.isi.edu/in-notes/rfc2616.txt 를 참고해 보시기 바랍니다.

이렇게 보게되면 13이라는 수가 2번 떠야 할거 같은데 onLoadComplete 에서는 undefined 가 뜨게 됩니다.

 

 

하지만 onLoadInit 상태에서는 13이라는 숫자가 잘 뜨는 군요.

아마도 제 생각에는 onLoadComplete 가 로드가 완료된 시점에서 호출되는 것인데 변수까지는 읽지 못하는것 같습니다.

onLoadInit은 로드된 무비가 실행되는 시점에서 불려지는 것이라 값까지 읽어 지는듯 합니다.

이제 onLoadInit에서 goto문을 쓰던 플래그값을 주던 해서 코드를 적엊면 무비가 로드 완료된 시점에 대한 동작을 할 수 있게됩니다.

 

출처 - http://blog.naver.com/khagaa/30020681666

 

 

 


MovieClipLoader 클래스

MovieClipLoader 클래스

지원 버전

Flash Player 7

설명

이 클래스를 사용하면 SWF 또는 JPEG 파일이 무비 클립으로 로드(다운로드)되는 동안 상태 정보를 제공하는 리스너 콜백을 구현할 수 있습니다. MovieClipLoader 기능을 사용하려면 loadMovie()MovieClip.loadMovie() 대신 MovieClipLoader.loadClip()을 사용해 SWF 파일을 로드합니다.

MovieClipLoader.loadClip() 명령을 실행하면 다음과 같은 이벤트가 나열된 순서대로 발생합니다.

MovieClipLoader.onLoadInit()가 호출된 후에는 속성을 설정하거나 메서드를 사용할 수 있으며 로드된 무비와 상호 작용할 수 있습니다.

파일을 완전하게 로드하지 못하면 MovieClipLoader.onLoadError() 리스너가 호출됩니다.

MovieClipLoader 클래스의 메서드 요약

메서드

설명

MovieClipLoader.addListener()

MovieClipLoader 이벤트 핸들러가 호출될 때 알림을 수신할 수 있도록 객체를 등록합니다.

MovieClipLoader.getProgress()

MovieClipLoader.loadClip()을 사용하여 로드하는 파일에 대해 로드한 바이트 수와 전체 바이트 수를 반환합니다.

MovieClipLoader.loadClip()

원래 무비가 재생되는 동안 Flash Player의 무비 클립에 SWF나 JPEG 파일을 로드합니다.

MovieClipLoader.removeListener()

MovieClipLoader.addListener()를 사용해 등록했던 객체를 삭제합니다.

MovieClipLoader.unloadClip()

MovieClipLoader.loadClip()에 의해 로드되었던 무비 클립을 삭제합니다.

MovieClipLoader 클래스의 리스너 요약

리스너

설명

MovieClipLoader.onLoadComplete()

MovieClipLoader.loadClip()을 사용해 로드한 파일의 다운로드가 완료되었을 때 호출됩니다.

MovieClipLoader.onLoadError()

MovieClipLoader.loadClip()을 사용해 로드한 파일의 로드 작업이 실패했을 때 호출됩니다.

MovieClipLoader.onLoadInit()

로드된 클립의 첫 번째 프레임에서 액션이 실행되었을 때 호출됩니다.

MovieClipLoader.onLoadProgress()

로드 과정 동안 디스크에 내용이 기록될 때마다 호출됩니다.

MovieClipLoader.onLoadStart()

MovieClipLoader.loadClip()에 대한 호출이 성공해 파일의 다운로드가 시작될 때 호출됩니다.

MovieClipLoader 클래스의 생성자

지원 버전

Flash Player 7

구문

new MovieClipLoader()

매개 변수

없음

반환값

없음

설명

생성자; MovieClipLoader 객체를 만듭니다. 이 객체는 SWF 또는 JPEG 파일이 다운로드되는 동안 발생하는 이벤트에 반응하도록 다양한 리스너를 구현할 때 사용할 수 있습니다.

 


 

반응형