暂停和取消暂停AS2动画

时间:2014-10-06 18:40:28

标签: animation actionscript-2

我正试图找出一种方法来暂停和取消暂停我的视频动画。在as3中,使用stage.framerate = 0这是一项简单的任务,但as2不允许这样做。主要问题是动画只有1帧,所有动画都是通过actionscript2操作的。

这是我的示例代码:

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
    }

我创建了一个影片剪辑图标,用于更改播放和暂停符号之间的状态,但我不知道如何暂停和取消暂停这些功能的执行。任何人都可以提供这样做的方法吗?以下是我目前用于更改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
    }

}

1 个答案:

答案 0 :(得分:0)

也许尝试使用setInterval();而不是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();
};