Hemsida » Kodning » En vy till skalbar vektorgrafik (SVG) Animation

    En vy till skalbar vektorgrafik (SVG) Animation

    Idag ska vi fortsätta diskussionen om Skalbar vektorgrafik (SVG), och den här gången ska vi jobba med SVG Animation. Var inte rädd men SVG Animation är relativt lätt och faktiskt i det här inlägget kommer vi att börja från grunderna.

    Grundläggande genomförande

    Animering i SVG kan genomföras element;

          

    Som du kan se från kodavsnittet ovan lägger vi till inuti det element som kommer att påverkas. Detta innehåller några av följande attribut

    attribute: Det här attributet anger vilket elements attribut som påverkas i animationen.

    från: Det här attributet är valfritt, vi kan ange ett exakt värde eller lämna det för att låta det börja från var det var.

    till: Detta attribut anger animeringsriktningen. Beroende på det angivna värdet i attribute, resultaten kan variera. Men i det här exemplet kommer det att förlänga höjd.

    dur: Det här attributet anger animationsvaraktigheten. Värdet på detta attribut uttrycks i Klockvärdessyntax. Till exempel, 02:33 representerar 2 minuter och 33 sekunder, medan 3h är lika med 3 timmar, men vi behöver inte så länge så vi angav varaktigheten för bara 3s eller 3 sekunder;

    Samma sak går till element, men den här gången riktar vi oss på cirkelens radiusattribut (r).

          
    • Grundläggande implementeringsdemo

    Flyttande element

    Vid flyttning av SVG-element behöver vi bara rikta in elementets koordinat x och y;

          

    I exemplet ovan flyttar vi rektangeln från 0 till 200 om 3 sekunder kommer rektangeln att röra sig horisontellt från vänster till höger. Också, om du tittar noggrant, lägger vi också till ett annat attribut till element, nämligen fylla.

    fylla Attribut här är inget att göra med bakgrundsfärgen som i de andra SVG-elementen. Det här attributet anger hur animationen ska agera efter att varaktigheten slutar. I detta exempel vi frysa det drabbade elementet så det stannar där animationen slutar.

    Det fungerar också på samma sätt som element som vi kan använda cx eller cy, såhär:

          
    • Moving Element Demo

    Animera flera attribut

    Hittills strävar vi bara mot ett attribut som animeras, men det är också möjligt att animera mer än ett attribut samtidigt. Exemplet nedan visar hur vi gör det:

           

    Som du kan se fungerar det på ett liknande sätt, bara nu har vi två element inuti att rikta in sig mot radie och den slagbredd Att vara påverkad.

    • Demo med flera attribut

    Följer en väg

    I vårt tidigare inlägg på Arbeta med text i SVG, Vi har visat dig hur man flyter texten till en väg. Det är också möjligt att göra samma sak i SVG Animation, vi kan animera ett element för att följa en väg. Här är ett exempel.

           

    Banan är bättre definierad inom a element, som visas ovan. För att elementet ska följa vägen måste vi definiera animationen med och länka vägen id med element, enligt följande;

        

    Det är det, nu får vi se det i aktion;

    • Följande sökväg

    transformationer

    Vi kan också använda transformation som skala, Översätt och rotera för animationen, och för att göra så ska vi använda ;

          

    Transformationer i SVG delar liknande principer med CSS3, och vi har behandlat det ganska omfattande i vårt tidigare inlägg om CSS3 2D Transformation.

    • Transformationsdemo

    Slutgiltiga tankar

    Beroende på din skicklighet på SVG Animation kan du skapa något så här.

    En fördel med att använda SVG Animation över Flash Animation är att det inte är beroende av plugins från tredje part att fungera och det är också betydligt snabbare än Flash. När Adobe slutat sitt Flash-stöd i Android kanske du vill börja prova detta sätt att tjäna animering på din nästa webbplats.

    Ytterligare referenser

    • SVG animera dokumentation
    • Avancerade SVG Animation Techniques
    • Visa demo
    • Hämta källa