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 に答える