javascript - 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()
因为动画总是从原始位置开始(并且您不能在不更改库的情况下影响此行为)。对于这样的用例,我会像您的代码示例中演示的那样手动为对象的位置设置动画。或者如果可能的话,选择非常低y
的价值和很长的持续时间。这样,您可以定义单个补间。
推荐阅读
- react-hook-form - 反应钩子形式:点击清除文件输入字段
- hololens - 有没有办法通过 Hololens 在 Unity 中离线使用 Python?
- python - 如何对直线进行降噪
- tailwind-css - 从 Tailwind UI Figma 文件导出以创建 Tailwind CSS 主题
- java - 当涉及到多态性、继承、重载、覆盖、泛型和铸造的混合时,如何记住事情
- java - 使用 webview 和 Fragment 在 android 中动态添加选项卡
- javascript - Handlebars 动态数据显示:“Uncaught SyntaxError: Invalid or unexpected token”
- javascript - 如何使 javascript 函数永远不会返回与以前相同的值?
- reactjs - Regrex to exclude double space in Textfields input
- python-3.x - 覆盆子 pi4 上的英特尔 Realsense 和烧瓶 - RuntimeError: failed to set power state