0

我有多个对象以随机速度进行随机运动。我想重复动画。

动画结束后,我尝试使用 onComplete 重新启动每个对象,但是如何将其专门定位到该对象?目前它的溢出

private function lineAnimation (e:DisplayObject):void
    {
        TweenLite.to (e,randomTime, {x:randomX, onComplete: lineAnimation(e)});
    }
4

1 回答 1

1

当您为 onComplete 设置回调时,您只需传递函数本身。通过设置onComplete: lineAnimation(e),它会一遍又一遍地执行 lineAnimation。当您需要传递参数时,您可以使用匿名函数进行回调,如下所示:

private function lineAnimation (e:DisplayObject):void
{
    TweenLite.to(e, randomTime, {x:randomX, onComplete:function():void {lineAnimation(e)}});
}

此外,由于您使用的是 TweenLite,您可能需要查看内置循环的TweenMax,以便您可以执行以下操作:

TweenMax.to(e, randomTime, {x:randomX, repeat:-1}); // -1 repeats indefinitely
于 2010-10-06T20:14:40.253 回答