我有多个对象以随机速度进行随机运动。我想重复动画。
动画结束后,我尝试使用 onComplete 重新启动每个对象,但是如何将其专门定位到该对象?目前它的溢出
private function lineAnimation (e:DisplayObject):void
{
TweenLite.to (e,randomTime, {x:randomX, onComplete: lineAnimation(e)});
}
我有多个对象以随机速度进行随机运动。我想重复动画。
动画结束后,我尝试使用 onComplete 重新启动每个对象,但是如何将其专门定位到该对象?目前它的溢出
private function lineAnimation (e:DisplayObject):void
{
TweenLite.to (e,randomTime, {x:randomX, onComplete: lineAnimation(e)});
}
当您为 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