Tween - бесконечный повтор, не начиная с начальной позиции - PullRequest
0 голосов
/ 03 мая 2019

У меня есть 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?(это работает)

1 Ответ

1 голос
/ 03 мая 2019

Это не работает с .repeat(), так как анимация всегда начинается в исходном положении (и вы не можете влиять на это поведение, не изменяя библиотеку).Для такого случая использования я бы анимировал положение объекта вручную, как показано в вашем примере кода.Или, если возможно, выберите действительно низкое y значение и большую продолжительность.Таким образом, вы можете определить одну анимацию движения.

...