就说我有 5*5 的影片剪辑。
我想稍微延迟一点,然后轮流对它们进行补间。
实现这一目标的最佳方法是什么?
因为我认为创建多个补间可能会导致性能下降,对吗?
我很困惑以更优化的方式实现它。
任何帮助将不胜感激。
问问题
556 次
2 回答
1
通常我会这样做:
for (var i:int = 0; i < 5; i++)
{
TweenLite.to(object, duration, {delay: duration * i});
}
它会一次创建所有补间,但它们不会真正影响您的表现,因为只有活跃的补间才真正引人注目。
我用 200 多个对象做到了这一点,并且完全没有滞后。
然而,您可能希望在移动平台上汇集 TweenLite 对象,但同样 - 您可能不会看到多达 800 多个对象的差异。
于 2013-08-26T05:16:52.737 回答
1
TweenMax、TimelineLite 和 TimelineMax 都有一个“staggerTo()”方法,可以让这更容易。例如:
TweenMax.staggerTo(yourArray, duration, {...properties...}, delayBetweenEach);
就优化而言,整个引擎都经过了高度优化,因此您应该能够同时进行数百甚至数千个补间而不会有太大问题。它比其他 JavaScript 引擎快得多(参见http://www.greensock.com/js/speed.html进行比较)。
如果您愿意,您当然可以执行该手动循环来创建单独的补间,并像前面的答案状态那样抵消每个补间的延迟。这绝对没有错,尤其是如果您出于文件大小原因只想使用 TweenLite。
于 2013-10-14T16:32:30.937 回答