2011-10-31 2 views
1

Loader를 사용하여 AS3.0 스테이지에 AMV1Movie (Toon Boom Studio을 사용하여 만든 동영상)를 추가하고 있습니다. AMV1 영화가 마지막 프레임을 재생할 때 어떻게 결정할 수 있습니까?AVM1Movie가 완료되었는지 확인하는 방법은 무엇입니까?

+2

AVM1Movie의 출처에 액세스 할 수 있습니까? 그렇다면 LocalConnection을 사용하여 as2 및 as3 동영상 사이의 통신을 설정할 수 있으므로 as2 동영상은 as3 동영상에 재생 완료를 알릴 수 있습니다. –

+0

이 ToonBoom에 코드를 작성하는 방법이 있는지 잘 모르겠습니다. 그러나 나는 시도 할 것이다. 감사. –

답변

1

원본 동영상에서 무언가를 보내지 않고도 currentFrame 및 numFrames 속성을 폴링해야하며 기본 타임 라인이 애니메이션/프로그램의 정확한 묘사 인 경우에만 정확합니다. AVM1 무비가 코드를 통해 움직이거나 중첩 된 무비 클립을 가지고있는 경우, "완료"시점을 알 수있는 좋은 방법이 없습니다.

가장 좋은 방법은 그것을 열고 이벤트를 끝에 추가하는 것입니다. I는 영화 클립으로 된 AVM1Movie를로드 ForcibleLoader를 사용

+0

AVM1Movie 공용 인터페이스에는 currentFrame 및 numFrames가 없습니다. –

0

(movie.currentFrame + 1> = movie.totalFrames)

I가 uic.click 이벤트를 제어하기 위해이 기능을 사용하는 경우

var uic: UIComponent = .... 
... 
var loader:Loader = Loader(1uic.addChild(new Loader())); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, startPlay); 
var fLoader:ForcibleLoader = new ForcibleLoader(loader); 
fLoader.load(new URLRequest("....swf")); 

는 I 점검 영화를 중지하고 재생하려면

private function controlSwf(event: Event): void { 
    var e: Event = event; 
    var movie: MovieClip = MovieClip(Loader(event.target).content); 
    if (movie.currentFrame + 1 >= movie.totalFrames) { 
     movie.gotoAndPlay(1); 
     play = true; 
    } else if (play) { 
     play = false; 
     movie.stop(); 
    } else { 
     play = true; 
     movie.play(); 

    } 
} 
관련 문제