Tween - 无限重复而不从开始位置开始
Tween - Infinite repeat without starting from the beginning position
我有一个 div,我想将它永远移动到向下位置,Tween repeat -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 循环 运行 而不是使用 repeat? (这个有效)
这对 .repeat()
不起作用,因为动画总是从原始位置开始(并且您不能在不更改库的情况下影响此行为)。对于这样的用例,我会像您的代码示例中演示的那样手动为对象的位置设置动画。或者如果可能的话,选择真正低 y
价值和长持续时间。这样就可以定义一个单一的tween了。
我有一个 div,我想将它永远移动到向下位置,Tween repeat -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 循环 运行 而不是使用 repeat? (这个有效)
这对 .repeat()
不起作用,因为动画总是从原始位置开始(并且您不能在不更改库的情况下影响此行为)。对于这样的用例,我会像您的代码示例中演示的那样手动为对象的位置设置动画。或者如果可能的话,选择真正低 y
价值和长持续时间。这样就可以定义一个单一的tween了。