Startpagina » Coding » Een kijkje in Scalable Vector Graphics (SVG) -animatie

    Een kijkje in Scalable Vector Graphics (SVG) -animatie

    Vandaag gaan we onze discussie voortzetten Scalable Vector Graphic (SVG), en deze keer gaan we ermee werken SVG-animatie. Wees echter niet bang, SVG Animation is relatief eenvoudig en in deze post beginnen we met de basis.

    Basisimplementatie

    Animatie in SVG kan worden gedaan via element;

          

    Zoals u kunt zien aan de hand van het bovenstaande codefragment, voegen we de binnen het element dat zal worden beïnvloed. Deze bevat enkele van de volgende kenmerken;

    attribuut naam: Dit kenmerk geeft aan welk attribuut van een element in de animatie zal worden beïnvloed.

    van: Dit kenmerk is optioneel, we kunnen een exacte waarde specificeren of het laten staan ​​om te starten vanaf waar het was.

    naar: Dit kenmerk geeft de richting van de animatie aan. Afhankelijk van de opgegeven waarde in attribuut naam, de resultaten kunnen variëren. Maar in dit voorbeeld verlengt het de hoogte.

    dur: Dit kenmerk geeft de duur van de animatie aan. De waarde van dit kenmerk wordt uitgedrukt in Clock Value Syntax. Bijvoorbeeld, 02:33 staat voor 2 minuten en 33 seconden, terwijl 3h is gelijk aan 3 uur, maar dat hebben we niet zo lang nodig, daarom hebben we de duur voor juist opgegeven 3s of 3 seconden;

    Hetzelfde gaat naar element, maar deze keer richten we ons op het straalattribuut van de cirkel (r).

          
    • Basic Implementation Demo

    Element verplaatsen

    Bij het verplaatsen van SVG-elementen hoeven we alleen de coördinaat van het element te targeten X en Y;

          

    In het bovenstaande voorbeeld verplaatsen we de rechthoek van 0 naar 200 in 3 seconden verschijnt de rechthoek horizontaal van links naar rechts. Ook als je goed kijkt, hebben we ook een ander attribuut toegevoegd aan de element, namelijk vullen.

    vullen kenmerk hier heeft niets te maken met de achtergrondkleur zoals in de andere SVG-elementen. Dit kenmerk geeft aan hoe de animatie zal werken nadat de duur is afgelopen. In dit voorbeeld wij bevriezen het getroffen element zodat het blijft waar de animatie eindigt.

    Het werkt ook op dezelfde manier als de element, we kunnen gebruiken cx of cy, zoals zo:

          
    • Demo van element verplaatsen

    Animate Multiple Attributes

    Tot nu toe targeten we slechts één attribuut om geanimeerd te worden, maar het is ook mogelijk om meer dan één attribuut in één keer te animeren. Het onderstaande voorbeeld laat zien hoe we het doen:

           

    Zoals je kunt zien, werkt het op dezelfde manier, alleen nu hebben we er twee elementen binnen de om het te richten radius en de streekbreedte beïnvloed worden.

    • Multiple Attributes Demo

    Een pad volgen

    In ons vorige bericht op Werken met tekst in SVG, we hebben je laten zien hoe je de tekst naar een pad kunt laten stromen. Het is ook mogelijk om hetzelfde te doen in SVG-animatie, we kunnen een element animeren om een ​​pad te volgen. Hier is een voorbeeld.

           

    Het pad is beter gedefinieerd in a element, zoals hierboven weergegeven. Om ervoor te zorgen dat het element het pad volgt, moeten we de animatie definiëren met en koppel het pad ID kaart met element, als volgt;

        

    Dat is alles, laten we het nu in actie zien;

    • De paddemo volgen

    transformaties

    We kunnen ook transformatie zoals gebruiken schaal, vertalen en draaien voor de animatie, en om dit te doen zullen we gebruiken ;

          

    Transformaties in SVG delen soortgelijke principes als CSS3, en we hebben er uitgebreid over gediscussieerd in ons vorige artikel over CSS3 2D-transformatie.

    • Transformatie Demo

    Laatste gedachten

    Afhankelijk van je bekwaamheid op SVG-animatie kun je zoiets als dit maken.

    Een voordeel van het gebruik van SVG-animatie via Flash-animatie is dat het niet afhankelijk is van externe plug-ins om te werken, maar ook aanzienlijk sneller dan Flash. Nadat Adobe hun Flash-ondersteuning in Android had stopgezet, zou je deze aanpak eens kunnen uitproberen om animaties op je volgende website te presenteren.

    Verdere referenties

    • SVG Animate-documentatie
    • Geavanceerde SVG-animatietechnieken
    • Demo bekijken
    • Download de bron