【问题标题】:Tween - Infinite repeat without starting from the beginning positionTween - 无限重复而不从开始位置开始
【发布时间】:2019-05-03 09:58:07
【问题描述】:

我有一个 div,我想将它永远移动到向下位置,补间重复 -1 从元素开始移动的位置开始。我希望它像循环一样继续。

var tlMain = new TimelineMax({repeat:0});
tlMain.to(group.position, 2 , {y: '-=10', ease: Power0.easeNone, repeat:-1});

使用上面的时间线,它的工作方式如下:

Start: 10
1st  : 10
2nd  : 10

所以每次转动,

Start: 10
1st  : 0
2nd  : -10
3rd  : -20

是否可以使用 Tween 实现这一点,还是我需要在我的渲染方法中原始地做到这一点?

function render(...args) {
    group.position.y -= 10;

    requestAnimationFrame(render(...args))
}

或者我是否需要设置一个 for 循环来无限地运行它而不是使用重复? (这行得通)

【问题讨论】:

    标签: javascript three.js tween gsap


    【解决方案1】:

    这不适用于.repeat(),因为动画总是从原始位置开始(如果不更改库,您无法影响此行为)。对于这样的用例,我会像您的代码示例中演示的那样手动为对象的位置设置动画。或者如果可能,选择非常低的y 值和较长的持续时间。通过这种方式,您可以定义单个补间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多