Tween Несколько объектов превращаются по очереди в tweenlite
Просто скажите, что у меня есть 5*5 видеоклипов.
Я хочу твиновать их с меньшей задержкой и поворачиваться по очереди.
Каков наилучший способ достичь этого?
как я думаю, создание нескольких твин может повлиять на производительность, я прав?
Я смущен, чтобы достигнуть этого более оптимизированным способом.
Любая помощь будет принята с благодарностью.
2 ответа
Обычно я делаю это так:
for (var i:int = 0; i < 5; i++)
{
TweenLite.to(object, duration, {delay: duration * i});
}
Он создаст сразу все анимации, но они не будут влиять на вашу производительность, так как только активные подростки действительно заметны.
Я сделал это с более чем 200 объектами и не имел никакого отставания вообще.
Однако вы, возможно, захотите объединить объект TweenLite на мобильных платформах, но опять же - вы, вероятно, не увидите разницы до 800+ объектов.
TweenMax, TimelineLite и TimelineMax имеют метод staggerTo(), который делает это проще. Например:
TweenMax.staggerTo(yourArray, duration, {...properties...}, delayBetweenEach);
Что касается оптимизации, то весь движок сильно оптимизирован, поэтому вы можете иметь сотни или даже тысячи подростков одновременно без особых проблем. Это намного быстрее, чем другие механизмы JavaScript (для сравнения см. http://www.greensock.com/js/speed.html).
Вы, конечно, можете сделать этот ручной цикл для создания отдельных анимаций, если хотите, и просто сместить задержку для каждого, как и в предыдущих состояниях ответа. Абсолютно ничего плохого в этом нет, особенно если вы хотите использовать TweenLite только из соображений размера файла.