2013-11-01 7 views
0

저는 AS에 비교적 익숙하지 않으며 가져온 객체가 최종 프레임에 도달했다는 것을 어떻게 알릴 수 있는지 알고 싶습니다. 기본적으로 클래스 파일을 사용하여 .fla를 만들고 다른 SWF에서 영화 클립으로 .swf를 가져오고 해당 가져온 영화 클립의 인스턴스를 여러 개 가져오고 싶습니다. 이제 가져온 영화 클립 중 하나의 인스턴스가 최종 프레임에 도달했음을 어떻게 알릴 수 있는지 알고 싶습니다. 하나의 객체에서 이벤트를 실행하여 프레임의 끝을 알립니다.

답변

0

당신은 dispatchEvent(new Event("eventname"))와 이벤트가 발생 할 수 있습니다 감사합니다. 프레임 끝에 dispatchEvent을 씁니다.

dispatchEvent(new Event(Event.COMPLETE)); 

하고, 이벤트를 수신 : addFrameScript

mc.addFrameScript(mc.totalFrames - 1 , lastFrameHandler); 

function lastFrameHandler():void{ 
    // 
    // mc.stop(); 
    // 
} 

당신이 어떤 코드를 삽입 할 필요가 없습니다 :

mc.addEventListener(Event.COMPLETE, endOfFrameHandler); 
function endOfFrameHandler(e:Event):void 
{ 
    ... 
} 
1

당신이 좋아, 무비 클립 '문서화되지 않은 addFrameScript() 방법을 사용할 수 있습니다 .fla '프레임/타임 라인!

+0

다른 스레드에서이 메서드에 대해 알았습니다. 나는 마지막 프레임에 stop을 추가했고, 마지막 프레임에 마지막 프레임에 도달했을 때 true로 설정된 속성을 추가했다. 이 무비 클립을 가져온 후에도 여전히 그 속성이 사실인지 트렁크를 청취해야했습니다. 내가 잠시 청취했을 때, 영화 클립이 몇 초간의 실행 시간을 초과했다는 오류가 발생했습니다. – user2944108