Я создаю небольшой интерактивный веб-сайт, используя scrollmagic и GSAP для анимации элементов SVG.
Однако при анимации значения y элемента с преобразованием rotate() преобразование было удалено. Добавление вращения в анимацию не дало правильного результата; ротация была удалена из анимации, а затем снова оживлена.
Кто-нибудь знает, как сохранить поворот элемента SVG при анимации других атрибутов в GSAP?
пример кода:
HTML:
GSAP: сохранение предыдущих преобразований при анимации SVG
<svg height='300px' width='500px' style='position: absolute;'>
<rect id='rect' width='200' height='75' style='fill:#888;stroke-width:2;stroke:#000' y='0' x='120' transform='rotate(45)' />
</svg>
ЯШ:
TweenMax.to('#rect', 1, {x: 100})
скрипку: https://jsfiddle.net/159phcxw/
Можете ли вы приготовить скрипку, пожалуйста? –
скрипт был добавлен – inecrafter
Может существовать несколько способов обойти это, но, как я и предполагал, вы определяете 'transform' на элементе SVG. Итак, ** [здесь] (https://jsfiddle.net/tahirahmed/od1ezund/) ** - это то, что я сделал. Я использовал 'TweenMax' для ** [' .set() '] (http://greensock.com/docs/#/HTML5/GSAP/TweenMax/set/) **' rotation' и удалил его из Сам SVG-элемент. Имеет смысл? –