2014-10-06 6 views
0

내 비디오의 애니메이션을 일시 중지하고 일시 중지 해제 할 수있는 방법을 찾으려고합니다. as3에서는 stage.framerate = 0을 사용하는 것이 쉬운 작업이지만 as2는이를 허용하지 않습니다. 주요 문제는 애니메이션의 프레임이 1 개이고 모든 애니메이션이 actionscript2입니다.AS2 애니메이션 일시 중지 및 일시 중지

여기 내 예제 코드입니다 : 내가 플레이 사이의 상태 변화와 기호를 일시 정지 무비 클립 아이콘을 만들었습니다

Tween1(); 
function Tween1(){ 
    setTimeout(theTween, 1000); //tween executes after 1000 milliseconds 
    function theTween(){ 
     //animation stuff here 
     //Move X position of ball instance 
     var myTween:Tween = new Tween(ball, "_x", Regular.easeOut, -40, 71, 1, true); 
     //Rotate button 360 degrees 
     var myTween:Tween = new Tween(button, "_rotation", Regular.easeOut, -360, 0, 1, true); 
     // fade in logo 
     var myTween:Tween = new Tween(logo, "_alpha", Regular.easeOut, 0, 100, 1, true); 
     //call Tween 2 
     Tween(2); //calls next animation tween 
} 

    function Tween2(){ 
     setTimeout(theTween, 5000); //tweene executes after 5000 milliseconds 
     function theTween(){ 
      //more animation stuff 
      // fade out logo 
      var myTween:Tween = new Tween(logo, "_alpha", Regular.easeOut, 100, 0, 1, true); 
      Tween(3); //calls next animation tween 
    } 

그러나 나는 일시 중지하고 이러한 기능의 실행을 일시 중지를 해제하는 방법을 모른다. 아무도 그렇게 할 수있는 방법을 제공 할 수 있습니까? 여기에 어쩌면하여 setInterval을 사용하려고 내 Pause_mc

var buttonState = 0; 

pause.onMouseDown = function() { 
    if (buttonState == 0) { 
     buttonState = 1; 
     pause.gotoAndStop(2); //moves movieclip to pause symbol 
     //need code to pause tween executions 
    } else { 
     buttonState = 0; 
     pause.gotoAndStop(1); //moves movieclip to play symbol 
     //need code to resume tween executions 
    } 

} 

답변

0

의 상태를 변경하는 내 현재 코드는()이다; setTimeout() 대신에; & 재생을위한 일종의 스위치 & 정지 상태.

예 : 트위닝 기능에 도달하면 '거짓으로 재생하면'재생이 참일 때까지 간격을 반복합니다.

또는 tweenInstance.stop(); 도움이 될 수 있습니다.

예 :

import mx.transitions.Tween; 
var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, img1_mc._width,   Stage.width, 8, true); 

myTween.onMotionFinished = function() { 
myTween.start(); 
}; 

stopTween_btn.onRelease = function() { 
myTween.stop(); 
}; 

resumeTween_btn.onRelease = function() { 
myTween.resume(); 
}; 
+0

불행히도 파일 작성 방법이 아닙니다. 혼란을 드려 죄송합니다. 내 애니메이션이 어떻게 작동하는지 명확히하는 데 도움이되는 추가 코드를 추가했습니다. 함수가 호출 될 때마다 일련의 작업을 수행 한 다음 해당 함수가 다음 트윈 함수를 호출하여 다른 일련의 작업을 수행합니다. – nr20

+0

내 답변을 업데이트했습니다. Flash CC가 업데이트 되었기 때문에 더 이상 as2 기능에 액세스 할 수 없으므로이 방법이 도움이 될 것이라고 생각합니다. –