Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2024, 12:28
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 93

Вопрос по anime.js - анимация SVG
Всем доброго дня! Пытаюсь анимировать svg, пока пробую с помощью библиотеки anime.js, вроде что-то получается, но не знаю с какой стороны подойти к решению следующего вопроса:

в свг у меня есть путь <path /> и к нему маска с id="mask-path" которые представляют собой пунктирную линию (проще говоря - схема маршрута, извилистая пунктирная линия)
и в свг есть картинка
<defs>
<image id="image0_129_31" width="800" height="800" xlink:href="images/man.png"></image>
</defs>
которая стоит как бы в начале маршрута
реально ли с помощью этой библиотеки (или какой то другой) заставить картинку двигаться по линии маршрута?
Сам код svg и там еще пробный скрипт это я тестировал анимацию заливки пунктира (вроде как то даже работает, цель был проверить вообще работоспособность библиотеки для начала)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Anime.js</title>
</head>

<body>
    <main>
        <section class="root">
            <svg width="1229" height="922" viewBox="0 0 1229 922" fill="none" xmlns="http://www.w3.org/2000/svg"
                xmlns:xlink="http://www.w3.org/1999/xlink"></svg>
            <g clip-path="url(#clip0_129_31)">
                <rect width="1229" height="922" fill="white" />
                <defs>
                    <mask id="anim-mask">
                        <path id="mask-path"
                            d="M1148.68 150.5L962.471 150.5L892.249 150.5L831.001 150.5L811.832 150.5C750.729 150.5 705.587 206.926 718.908 266.649V266.649C735.264 339.974 664.951 402.306 594.054 377.333L517.338 350.31C480.398 337.299 439.552 351.818 419.334 385.147V385.147C393.808 427.227 410.629 482.383 455.402 503.418L636.501 588.5V588.5C780.607 661.377 736.547 877.418 575.772 886.278L480.999 891.5L101.499 891.5"
                            fill="none" stroke="#ff0000" stroke-width="3" />
                    </mask>
                </defs>
                <path
                    d="M1148.68 150.5L962.471 150.5L892.249 150.5L831.001 150.5L811.832 150.5C750.729 150.5 705.587 206.926 718.908 266.649V266.649C735.264 339.974 664.951 402.306 594.054 377.333L517.338 350.31C480.398 337.299 439.552 351.818 419.334 385.147V385.147C393.808 427.227 410.629 482.383 455.402 503.418L636.501 588.5V588.5C780.607 661.377 736.547 877.418 575.772 886.278L480.999 891.5L101.499 891.5"
                    fill="none" stroke="black" stroke-width="3" stroke-dasharray="10 5" mask="url(#anim-mask)" />
            </g>
            <defs>
                <image id="image0_129_31" width="800" height="800" xlink:href="images/man.png"></image>
            </defs>
        </svg>
        </section>
    </main>

    <script>
        anime({
            targets: '#mask-path',
            strokeDashoffset: [anime.setDashoffset, 0],
            easing: 'easeInOutSine',
            duration: 3000,
            direction: 'alternate',
            loop: false
        })
    </script>
</body>
</html>
Изображения:
Тип файла: jpg root.jpg (6.3 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2024, 15:47
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

SVG поддерживает анимацию из коробки.
https://www.youtube.com/watch?v=GvWJiMuXSNQ
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2024, 17:34
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 93

За видео спасибо, только в видео то совсем не "из коробки", там куча JS подключается для анимации
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переименовать название стилей в SVG перед вставкой в другой SVG Герасим Events/DOM/Window 9 09.06.2018 09:16
SVG теги юзера Герасим Общие вопросы Javascript 1 02.03.2018 21:29
предварительная обработка графики SVG lizard1111 Элементы интерфейса 3 06.03.2017 19:21
Как лучше подключать SVG объект Black_Star (X)HTML/CSS 0 02.12.2016 00:09
Меню с выезжающим сайдбаром Jaz Элементы интерфейса 17 26.06.2016 19:21