2011-11-17 2 views
0

애니메이션 로고가있는 무비 클립이 포함 된 플래시 배너가 있습니다. 메인 애니메이션 "영화"의 시작 부분에서만 로고 애니메이션을 실행하고 싶습니다. 현재 전체 영화 길이 (예 : 500 프레임)를 찾아서 로고 프레임의 500 번째 프레임에 키 프레임을 넣어야합니다. 이 작업을 수행하는 올바른 방법이 있어야한다는 것을 알고 있습니다 ... 기본 타임 라인의 마지막에 프레임 이름을 추가하고 로고 무비 클립의 AS에 "X goToAndPlay (1);에 도달하면"이라고 말합니다.무비 클립을 재생하고 메인 무비가 끝날 때까지 기다렸다가 다시 시작하십시오.

답변

1

글쎄, 당신은 단순히 "할 때, 할"수 없습니다.

지금 내 마음에 두 가지 방법이 있습니다. 이벤트가 전달 될 때

mc1.addEventListener(Event.__EVENT_TYPE__, stopPlayback); 
function stopPlayback(e:Event):void{ 
    mc1.stop(); 
    mc1.removeEventListener(Event.__EVENT_TYPE__, stopPlayback); 
} 

그래서 당신은 재생을 중지 것이다 : 먼저 (이상) 적절한 하나 같은 동영상 클립에 리스너를 추가 당신이 중지 할 프레임에 dispatchEvent(new Event(__EVENT_TYPE__));를 추가하고보다하는 것입니다. 예를 들어 Event.COMPLETE를 사용하거나 사용자 정의 이벤트를 만들 수 있습니다.

두 번째 방법은 첫 번째 프레임으로 돌아 왔는지 확인하는 것보다 Event.ENTER_FRAME 이벤트 수신기를 추가하는 것입니다. 우리가 루프 한 경우 마지막 이벤트로 돌아가서 중지하고 이벤트 수신기를 제거하고 완료합니다. 또한 우리는 우리가 돌아올 필요가있는 마녀에게 알기 위해 마지막 프레임을 어딘가에 저장해야합니다. (또는 간단한 정지() 호출)

그것이

건배 도움이되기를 바랍니다) 무비 클립에 이벤트 파견을 추가하지 못할 경우에만

mc1.addEventListener(Event.ENTER_FRAME, onEF); 
var lastFrame:int = 0; 
function onEF(e:Event):void{ 
    if(mc1.currentFrame == 1){ 
     mc1.removeEventListener(Event.ENTER_FRAME, onEF); 
     mc1.gotoAndStop(lastFrame); 
    } 
    lastFrame = mc1.currentFrame; 
} 

두 번째 하나를 사용하십시오.

+0

감사합니다. 그건 의미가있다, 나는 그것을 줄 것이다. 정말 똑똑한 남자. –

관련 문제