时间轴最大交错完成后下一个开始

时间:2019-12-06 07:08:57

标签: greensock timelinemax

你好,我正在尝试从timelineMax使用staggerTo 我的代码是

this.tl.staggerTo(this.chartProxies,1,{
        repeat:1,
        yoyo:true,
        deviation:5,
    },3)

chartProxies是我的数组,它具有偏差属性 数组长度为5 我想做的是:更改数组中某个元素的偏差,然后在上一个的溜溜球完成后从下一个开始

据我了解,每个元素的持续时间为1,由于yoyo是正确的,因此每个元素的开始和结束将花费2秒 当我在末尾写入3秒延迟时,时间轴会在yoyo完成后等待3秒,但是如果我将其更改为1秒,则下一个会在当前完成之前开始 我应该做些什么 谢谢

1 个答案:

答案 0 :(得分:0)

像您一样的3交错值延迟3秒。它是stagger: { each: 3 }的简写形式,表示它将在上一个开始开始3秒后开始播放每个动画。

您是对的,因为您的持续时间为1,重复1,则每个过程都需要2秒才能完成,因此这意味着在下一个动画开始之前将没有1秒的时间。

但是当您将3更改为1时,它就在另一个结束之前开始,因为它就是这样做的。

如果您希望它充当延迟而不是它的行为,则可以使用以下方法自己计算出来:

const dur = 1;
const delay = 1;
this.tl.staggerTo(this.chartProxies, dur, {
  repeat:1,
  yoyo:true,
  deviation:5,
}, dur * 2 + delay)

P.S。在the GreenSock forums上,您将获得更快的帮助。我们很想带您过去!

P.P.S。我建议使用GSAP 3。有很多改进!