我有时间问题。我需要将葡萄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:涉及计时器,因为应用程序倒计时。
答案 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”参数 - 随意发布它:)