Domovská » Kódování » Podívejte se do animace škálovatelné vektorové grafiky (SVG)

    Podívejte se do animace škálovatelné vektorové grafiky (SVG)

    Dnes budeme pokračovat v diskusi Škálovatelná vektorová grafika (SVG), a tentokrát budeme spolupracovat SVG animace. Nebojte se však, SVG animace je poměrně snadná a vlastně v tomto příspěvku začneme od základů.

    Základní implementace

    Animace v SVG může být provedena přes živel;

          

    Jak je vidět z útržku kódu výše, přidáme uvnitř prvek, který bude ovlivněn. Tento obsahuje některé z následujících atributů;

    attributeName: Tento atribut určuje, který atribut prvku bude ovlivněn animací.

    z: Tento atribut je nepovinný, můžeme zadat přesnou hodnotu nebo nechat ji začít od místa, kde byl.

    na: Tento atribut určuje směr animace. V závislosti na zadané hodnotě v attributeName, výsledky se mohou lišit. Ale v tomto příkladu to rozšíří výška.

    dur: Tento atribut určuje dobu trvání animace. Hodnota tohoto atributu je vyjádřena v Syntaxi hodinové hodnoty. Například, 02:33 představuje 2 minuty a 33 sekund, zatímco 3h je rovna 3 hodinám, ale nepotřebujeme to tak dlouho, takže jsme zadali délku trvání pro just 3s nebo 3 sekundy;

    Totéž platí ale tentokrát cílíme na atribut poloměru kruhu (r).

          
    • Základní implementační demo

    Pohyblivý Prvek

    V pohybujících se prvcích SVG potřebujeme pouze cílit souřadnici prvku X a y;

          

    Ve výše uvedeném příkladu přesuneme obdélník z 0 na 200 za 3 sekundy se obdélník bude pohybovat vodorovně zleva doprava. Pokud se také pozorně podíváte, přidali jsme také další atribut prvek, jmenovitě vyplnit.

    vyplnit atribut zde nemá nic společného s barvou pozadí jako v ostatních prvcích SVG. Tento atribut určuje, jak bude animace fungovat po skončení trvání. V tomto příkladu jsme zmrazit tak, aby zůstal tam, kde animace končí.

    Funguje to podobně jako elementu, můžeme použít cx nebo cy, jako tak:

          
    • Demonstrace pohyblivého prvku

    Animovat více atributů

    Zatím se zaměřujeme pouze na jeden atribut, který má být animován, ale je také možné animovat více než jeden atribut najednou. Níže uvedený příklad ukazuje, jak to děláme:

           

    Jak vidíte, funguje to podobně, teprve teď máme dva prvky uvnitř cílit poloměr a šířka zdvihu ovlivněn.

    • Demo více atributů

    Po cestě

    V našem předchozím příspěvku Práce s textem v SVG, ukázali jsme vám, jak text převést na cestu. Je také možné udělat totéž v SVG animace, můžeme animovat prvek, který následuje cestu. Zde je příklad.

           

    Cesta je lépe definována v rámci a jako na obrázku výše. Aby element mohl sledovat cestu, musíme definovat animaci pomocí a propojit cestu id s následující prvek;

        

    To je ono, teď to uvidíme v akci;

    • Sledování trasy

    Transformace

    Můžeme také použít transformaci stupnice, přeložit a točit se pro animaci, a tak učiníme ;

          

    Transformace v SVG sdílejí podobné principy s CSS3 a my jsme se o tom do značné míry zabývali v našem předchozím příspěvku o CSS3 2D Transformation.

    • Transformační demo

    Závěrečné myšlenky

    V závislosti na vaší znalosti o SVG animaci můžete vytvořit něco takového.

    Jednou z výhod používání animace SVG přes Flash Animation je, že se nespoléhá na práci s pluginy třetích stran a je také podstatně rychlejší než Flash. Poté, co Adobe zastavil svou podporu Flash v Android, možná budete chtít začít vyzkoušet tento přístup, aby sloužil animaci na vašem dalším webu.

    Další odkazy

    • Dokumentace SVG Animate
    • Pokročilé SVG animační techniky
    • Zobrazit ukázku
    • Stáhněte si zdroj