Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
Inkscape est incapable de générer du SMIL (langage d'animation de SVG).
Il faut donc générer avec Inkscape un dessin vectoriel statique puis ouvrir le document Inkscape avec un éditeur de textes
tel Notepad, pour rajouter du code d'animation (JavaScript ou SMIL ou CSS).
Observez attentivement quelques secondes (au moins 10) l'image ...
La flèche (contour bleu) s'affiche durant 4 secondes puis disparaît tandis le nom de la discothèque (Saturne Dancing) apparaît durant 4 secondes. Ce cycle de 8 secondes se répète à l'infini.
Je vous explique ma démarche avec le logiciel Inkscape.
Dans un canevas qui fait 400 par 400 j'ai produit les objets suivants :
Il faut repérer le groupe de formes correspondant à la flèche bleu. C'est facile ce sont deux formes ayant la valeur #0000ff (bleu)
pour l'attribut stroke. Et oui, vous voyez ça sert d'avoir des notions du langage SVG !
Ensuite j'ai changé la valeur de l'attribut ID de la balise G par "fleche" .
Dans ce groupe donc toujours à l'intérieur du conteneur G j'ai rajouté une instruction SMIL avec le code suivant :
Sens : La flèche est affiché 4 secondes (8 secondes * 0.5) puis masquée 4 secondes durant un cycle de 8 secondes qui se répète à l'infini.
Ensuite il faut repérer la balise text (valeur de l'attribut fill : #ff0000) et insérer le code suivant à l'intérieur du conteneur :
Sens : le texte est masqué 4 secondes puis affiché durant 4 secondes durant un cycle de 8 secondes qui se repète à l'infini.
Donc quand la flèche est affiché "Saturne Dancing" est masqué et vice-versa.
Dans le document ci-dessus l'animation consiste à manipuler le calque supérieur qui devient progressivement de plus en plus transparent. Puis le cycle s'inverse et tout cela de façon infinie.
Le code SVG proprement dit a été généré par Inkscape.
Il consiste en deux calques, chaque calque contenant deux objets.
Sous NotePad je me suis contenté d'ajouter un ID à chaque calque (car en "sortie SVG optimisée" Inkscape ne le fait pas forcément).
Et j'ai rajouté la feuille de style : modèle d'animation (keyframes) et la règle qui précise les éléments concernés par ce modèle.
Jusqu'à présent nos animations étaient plates. Dans cette page je vous propose une animation 3D : un jet atterrissant sur la piste.
L'avion est d'abord minuscule puis grossit de plus en plus. Donc effet 3D !
Vous allez découvrir qu'en fait c'est très simple.
Mais attention on ne peut se contenter d'utiliser le logiciel Inkscape. Il y a quelques lignes de code SVG à saisir directement dans la page Web.
À la différence d'une boite HTML et via CSS3 on ne peut pas créer sous SVG de zone 3D.
Donc on ne peut pas translater selon l'axe Z. L'effet 3D est rendu par un changement d'échelle.
Cette image vectorielle sera le "background" du canevas SVG.
Ce document Inkscape fait 900 pixels par 600.
Toujours avec Inkscape j'ai ensuite produit le document avion.svg
Voir le rendu ci-dessous :
Toujours avec Inkscape j'ai exporté au format PNG pour obtenir : "avion.png".
Il faut maintenant animer l'avion : translation 2D et changement d'échelle (pour créer un effet 3D).
On peut utiliser le SMIL ou le CSS ou le JavaScript.
Je ne présenterai que la solution CSS.
Le rendu :
Le code SVG correspondant :
Le code CSS correspondant :