Замедленное воспроизведение мувиклипа - PullRequest
1 голос
/ 03 августа 2011

Я пытаюсь постепенно замедлить фрагмент ролика с помощью 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 ]

3 голосов
/ 04 августа 2011

Звучит так, будто вы хотите использовать мощь Tweening Engine - их довольно много, но мой любимый - Greensock TweenMax .

анимация мувиклипа будет постепенно замедляться (ослабляться) по мере приближения к концу воспроизведения:

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

TweenMax.to(myMovieClip, 2, { frame: myMovieClip.totalFrames, ease: Expo.easeOut });
0 голосов
/ 04 августа 2011

Если вы просто хотите легко добраться до известного местоположения, вы можете использовать его на enterframe:

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

Вы можете изменить targetX, когда захотите, и это просто снизит значение. Вы можете сделать это для любой собственности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...