TweenMax框架& onComplete问题

时间:2016-05-01 19:54:00

标签: actionscript-3 flash air greensock tweenmax

我有时间问题。我需要将葡萄MovieClip放到最后一帧内,例如10秒钟然后更改动画,但是在葡萄MC达到第11帧后onComplete会激活!是否有一些onTimeOut参数,或什么?我到处搜索,尝试了很多变通方法,但没有什么工作完美,它可以在计时器用完之前完成所有动画,反之亦然。

private function changeAnimation():void
{
    if (currentGrapeNumber > 0)
    {
        TweenMax.killTweensOf(grapes["Grape" + currentGrapeNumber]);
        if (currentGrapeNumber == 30)
        {
            return;
        }
    }
    currentGrapeNumber++;
    currentAnimation = TweenMax.to(grapes["Grape" + currentGrapeNumber], minutesPerGrape * 60, { frame:11, onComplete:changeAnimation });
}

编辑1:有可变的currentAnimation,因为用户可以按暂停按钮。我现在尝试使用自己的可暂停计时器类作为解决方法,但仍然希望有一种不使用计时器的方法。

编辑2:涉及计时器,因为应用程序倒计时。

1 个答案:

答案 0 :(得分:0)

问题解决了,我刚把它添加到updateClock方法:

private function updateClock(e:TimerEvent):void
{
    secondsToSwitch--;
    if (secondsToSwitch == 0)
    {
        secondsToSwitch = Math.round(minutesPerGrape * 60);
        changeAnimation();
    }
    /**
     * Function body
     */
}

并在changeAnimation方法中更改了TweenMax.to():

currentAnimation = TweenMax.to(grapes["Grape" + currentGrapeNumber], minutesPerGrape * 60, { frame:11 });

BUT。如果你在TweenMax中有一个替代或一些神奇的“onTimeOut”参数 - 随意发布它:)