GSAP для преобразования скорости

Я работал над некоторыми анимациями Velocity JS и пытался научиться расслабляться на ходу. Мой JavaScript довольно прост, поэтому я наткнулся на камень преткновения. Это должно было быть обучающим упражнением, и на первый взгляд это кажется тривиальным, но я не совсем понимаю, что делать.

Дизайнер передал рабочий прототип анимации с использованием Edge animate. Я пытаюсь преобразовать это из изображений и кода GSAP в SVG и Velocity JS. Проект уже использует Velocity JS для других задач, поэтому нет смысла включать другую библиотеку только потому, что именно это Edge использует для одной анимации.

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

SVG для стакана находится на скрипке, а код GSAP, созданный ниже: http://jsfiddle.net/darker_heroe/9zjrq0zq/

<pre>

    "Bubbles": {
        version: "6.0.0",
        minimumCompatibleVersion: "5.0.0",
        build: "6.0.0.400",
        scaleToFit: "none",
        centerStage: "none",
        resizeInstances: false,
        content: {
            dom: [
                {
                    transform: [[], [], [], ['0.5', '0.5']],
                    borderRadius: ['50%', '50%', '50%', '50%'],
                    id: 'Bubble_01',
                    opacity: '0',
                    rect: ['-3px', '-2px', '36px', '36px', 'auto', 'auto'],
                    stroke: [2, 'rgba(234, 239, 240, 0)', 'solid'],
                    type: 'ellipse',
                    autoOrient: 'true',
                    fill: ['rgba(255,255,255,1.00)']
                },
                {
                    transform: [[], [], [], ['0.75', '0.75']],
                    borderRadius: ['50%', '50%', '50%', '50%'],
                    id: 'Bubble_02',
                    opacity: '0',
                    rect: ['3px', '-2px', '29px', '29px', 'auto', 'auto'],
                    stroke: [2, 'rgba(234, 239, 240, 0)', 'solid'],
                    type: 'ellipse',
                    autoOrient: 'true',
                    fill: ['rgba(255,255,255,1)']
                }
            ],
            style: {
                '${symbolSelector}': {
                    rect: [null, null, '40px', '40px']
                }
            }
        },
        timeline: {
            duration: 4000,
            autoPlay: true,
            data: [
                [
                    "eid2211",
                    "opacity",
                    581,
                    919,
                    "easeOutQuad",
                    "${Bubble_02}",
                    '0',
                    '0.5'
                ],
                [
                    "eid2210",
                    "opacity",
                    1500,
                    1000,
                    "easeOutQuad",
                    "${Bubble_02}",
                    '0.5',
                    '0'
                ],
                [
                    "eid2230",
                    "opacity",
                    90,
                    160,
                    "easeOutQuad",
                    "${Bubble_01}",
                    '0',
                    '0.49659030720339'
                ],
                [
                    "eid2231",
                    "opacity",
                    250,
                    750,
                    "easeOutQuad",
                    "${Bubble_01}",
                    '0.4965899884700775',
                    '0.5'
                ],
                [
                    "eid2232",
                    "opacity",
                    1000,
                    1000,
                    "easeOutQuad",
                    "${Bubble_01}",
                    '0.5',
                    '0'
                ],
                [
                    "eid2201",
                    "location",
                    0,
                    2000,
                    "easeOutQuad",
                    "${Bubble_01}",
                    [[22.23, 22.57, 0, 0, 0, 0,0],[37.23, -71.23, -75.36, -182.55, -64.78, -156.91,99.63],[39.24, -257.75, -17.9, -162.49, -20.57, -186.71,288.05],[-15.3, -365.28, 0, 0, 0, 0,410.23]]
                ],
                [
                    "eid2203",
                    "location",
                    500,
                    2000,
                    "easeOutQuad",
                    "${Bubble_02}",
                    [[23.29, 18.78, 0, 0, 0, 0,0],[58.43, -65.15, -99.73, -231.78, -45.91, -106.69,95.65],[57.39, -269.81, 85.4, -51.39, 102.76, -61.84,310.38],[66.53, -365.66, 0, 0, 0, 0,411.13]]
                ]
            ]
        }
    },

</pre>

У меня такой вопрос: возможно ли даже преобразование между двумя библиотеками? Я уже потратил на это целый день и больше не хочу тратить время на попытки сделать что-то, что не сработает.

Я не ищу инструмент для обработки этого преобразования, так как это учебное упражнение (в котором я думаю, что я укусил больше, чем я могу пережевывать), а скорее пример или объяснение того, как я собираюсь преобразовать Временная шкала GSAP или даже просто настраиваемая часть кода Velocity JS.

Действительно ценю любой вклад по этому вопросу.

Большое спасибо

0 ответов

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