减慢播放MovieClip的速度

时间:2011-08-03 19:50:02

标签: actionscript-3 flash-cs4

我正在尝试使用Actionscript 3逐渐减慢影片剪辑。我当前的代码会播放影片片段,然后突然停止并向前拨几帧。比我想要的更粗糙。

var t:Timer=new Timer(2000,1);
t.addEventListener(TimerEvent.TIMER,slowDown);
t.start();

function slowDown(e:TimerEvent):void {

    if (currentFrame==totalFrames) {
        gotoAndStop(1);

    } else {

       gotoAndStop(currentFrame+1);
    }
}

Timer类至少是正确的方向吗?感谢。

2 个答案:

答案 0 :(得分:3)

听起来像你想要使用补间引擎的力量 - 那里有很多,但我最喜欢的是Greensock TweenMax

以下代码将在MovieClip的播放头逐渐减慢(缓和)时播放,因为它接近播放结束:

import com.greensock.*;
import com.greensock.easing.*;

TweenMax.to(myMovieClip, 2, { frame: myMovieClip.totalFrames, ease: Expo.easeOut });

答案 1 :(得分:0)

如果您只想简单地轻松访问已知位置,可以在enterframe上使用:

speed = 0.2; // Somewhere between 0 and 1
x = (targetX - x) * speed;

您可以随时更改targetX,它只会轻松实现该值。您可以为任何财产执行此操作。