Úvodná » kódovanie » Pozrite sa do animovanej grafiky vektorovej grafiky (SVG)

    Pozrite sa do animovanej grafiky vektorovej grafiky (SVG)

    Dnes budeme pokračovať v našej diskusii Škálovateľná vektorová grafika (SVG), a tentokrát budeme pracovať s SVG Animácia. Nebojte sa však, SVG Animácia je pomerne jednoduchá a vlastne v tomto príspevku začneme od základov.

    Základná implementácia

    Animáciu v SVG môžete vykonať cez element;

          

    Ako vidíte z útržku kódu, pridáme ho vnútri prvok, ktorý sa bude týkať. toto obsahuje niektoré z nasledujúcich atribútov;

    attributeName: Tento atribút určuje atribút prvku, ktorý bude ovplyvnený v animácii.

    z: Tento atribút je nepovinný, môžeme špecifikovať presnú hodnotu alebo ho nechať, aby to začalo odkiaľ to bolo.

    na: Tento atribút špecifikuje smer animácie. V závislosti od zadanej hodnoty v attributeName, výsledky sa môžu líšiť. Ale v tomto príklade rozšíri výška.

    dur: Tento atribút špecifikuje trvanie animácie. Hodnota tohto atribútu je vyjadrená v Syntaxe hodnôt hodín. Napríklad, 02:33 predstavuje 2 minúty a 33 sekúnd, zatiaľ čo 3h sa rovná 3 hodinám, ale tak dlho nepotrebujeme, takže sme určili trvanie práve 3s alebo 3 sekundy;

    To isté platí prvok, ale tentoraz sme zacielili atribút polomeru kruhu (r).

          
    • Základná implementačná demo

    Pohyblivý prvok

    Pri presúvaní prvkov SVG musíme zacieliť len súradnicu elementu X a y;

          

    V príklade vyššie presunieme obdĺžnik z 0 na 200 za 3 sekundy sa obdĺžnik objaví v horizontálnom smere zľava doprava. Ak sa pozriete pozorne, pridali sme aj ďalší atribút prvok, menovite vyplniť.

    vyplniť atribút tu nemá nič spoločné s farbou pozadia ako v ostatných prvkoch SVG. Tento atribút určuje, ako bude animácia fungovať po skončení trvania. V tomto príklade sme my zmraziť postihnutého prvku, takže zostane, kde animácia skončí.

    Pracuje tiež podobne ako prvok, môžeme použiť cx alebo cy, ako:

          
    • Demo pohyblivého elementu

    Animácia viacerých atribútov

    Zatiaľ sa zameriavame iba na jeden atribút, ktorý sa má animovať, ale je tiež možné animovať viac ako jeden atribút naraz. Nižšie uvedený príklad ukazuje, ako to robíme:

           

    Ako môžete vidieť, funguje to podobne, až teraz máme dve prvky vo vnútri na zacielenie na polomer a šírka ťahu byť ovplyvnené.

    • Viacnásobné atribúty

    Po ceste

    V našom predchádzajúcom príspevku Práca s textom v SVG, ukázali sme vám, ako prúdiť text do cesty. Je tiež možné urobiť to isté SVG Animácia, môžeme animovať prvok, ktorý bude nasledovať cestu. Tu je príklad.

           

    Cesta je lepšie definovaná v rámci a element, ako je uvedené vyššie. Aby prvok mohol sledovať cestu, musíme definovať animáciu pomocou a prepojiť cestu id s prvok;

        

    To je všetko, teraz to uvidíme v akcii;

    • Nasledujúca demoverzia trasy

    transformácia

    Môžeme použiť aj transformáciu mierka, preložiť a točiť sa pre animáciu, a to budeme používať ;

          

    Transformácie v SVG zdieľajú podobné princípy s CSS3 a my sme sa o ňom dostali docela komplexne v našom predchádzajúcom príspevku o CSS3 2D Transformation.

    • Transformačná demo

    Záverečné myšlienky

    V závislosti od vašej znalosti SVG Animation môžete vytvoriť niečo také.

    Jednou z výhod použitia animácie SVG cez Flash Animation je to, že sa nespolieha na fungovanie doplnkov tretích strán a je to tiež oveľa rýchlejšie ako Flash. Po tom, čo spoločnosť Adobe zastavila svoju podporu vo formáte Flash v systéme Android, možno budete chcieť začať skúšať tento prístup na zobrazovanie animácie na ďalšej webovej stránke.

    Ďalšie odkazy

    • SVG Animate Documentation
    • Pokročilé techniky animácie SVG
    • Zobraziť demo
    • Stiahnuť zdroj