Цикл анимации DisplayObject - PullRequest
       6

Цикл анимации DisplayObject

0 голосов
/ 04 октября 2010

У меня есть несколько объектов, которые делают случайные движения со случайной скоростью.Я хотел повторить анимацию.

Я пытался использовать onComplete для перезапуска каждого объекта после окончания анимации, но как я могу специально нацелить его на этот объект?В настоящее время его переполнение

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

1 Ответ

1 голос
/ 07 октября 2010

Когда вы устанавливаете обратный вызов для 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
...