Анимируйте временную шкалу GSAP между двумя метками "самым коротким" способом

У меня есть анимация GSAP (Greensock), которая "кажется безразличной", и это означает, что когда она воспроизводится по бесконечному циклу, вы не можете определить, какая часть является началом, а какая - концом.

Допустим, у меня есть две метки, одна в начале (около 10% пути), а другая в конце (около 90% завершено):

|  start                               end   |
|----|----|----|----|----|----|----|----|----|

Если я создам tweenTo от "начала" до "конца", он пройдет "долгий путь", продвигая точку воспроизведения вперед с 10% до 90%.

Tween from 'start' to 'end' would go
"long ways" from the left to the right

     :==================================>
|  start                               end   |
|----|----|----|----|----|----|----|----|----|

Пока все хорошо, это имеет смысл для меня.

Но что, если я не хочу, чтобы это случилось? Так как моя анимация кажется бесполезной, технически анимация может начинаться с 10% и идти назад, пока не достигнет начала, затем возвращается к концу анимации и продолжается в обратном направлении, пока не достигнет метки "end" на 90%.

But what if I wanted to go "backwards" from
'start' and loop around to 'end'?

/====:                                  <====/
|  start                               end   |
|----|----|----|----|----|----|----|----|----|

Это был бы "короткий путь" между этими двумя ярлыками.

У меня вопрос, как бы мне создать такой эффект?

То есть, если у меня есть две метки, можно ли анимировать между ними, где моя анимация "оборачивается" по временной шкале, а не остается в пределах временной шкалы?

См. Следующий код для примера этого - https://codepen.io/romellem/pen/yQOQar?editors=0010

Внутри этого кодового маркера слева находится проблема, с которой я сталкиваюсь, а справа - фальшивый "пример", показывающий, что я хочу сделать, чтобы анимация слева выполнялась при анимации "вокруг" моих двух меток.

0 ответов

Другие вопросы по тегам