Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
Si vous voulez déplacer un objet SVG le long d'un chemin il faut utiliser la balise animateMotion.
La zone de dessin a pour "background" une image qui fait fonction de décor.
SVG : il faut déplacer un polygone le long d'un chemin donc la balise animateMotion contient l'attribut path et est contenue dans le
conteneur polygon.
Ici la valeur de l'attribut path est une simple droite horizontale mais ça pourrait une courbe ...
L'avion ne surgit pas brutalement (à gauche) car le chemin a une longeur de 1000 et est plus large que la zone de dessin (800).
La balise animateMotion peut contenir la balise mpath. Cette dernière balise fait référence à un chemin préalablement défini.
C'est ce que nous allons voir avec le fichier "soleil.svg" qui est affiché ci-dessous dans un Iframe:
La version brute de "soleil.svg" a été produit par Inkscape.
J'ai dessiné l'orbite de la terre via une ellipse. Mais l'argument de la balise mpath est obligatoirement un chemin ...
Donc l'astuce consiste à convertir la forme ellipse en chemin.
Puis avec NotePad j'ai inséré une image gif (la terre) et j'ai ensuite demandé que cet objet se déplace sur le
chemin elliptique.
Ci-dessous le code optimisé du document "soleil.svg"
Ce fichier contient un lien vers une image.
C'est pour cette raison qu'il est préférable d'insérer ce fichier avec l'élément OBJECT.
Quand vous définissez un chemin avec la balise path, ce chemin est la valeur de l'attribut d.
Quand vous utilisez l'attribut path au sein de la balise animateMotion il n'y a pas de "d".
La balise animateMotion peut contenir l'attribut rotate avec la valeur auto afin que l'objet qui se déplace le long d'un chemin soit toujours perpendiculaire à la pente.
Vous constatez que les deux objets (rectangle & image) restent bien perpendiculaires au chemin (qui n'est pas dessiné)
Ci-dessous le code SVG interne correspondant :
Nouveauté : attribut rotate dans l'élément animateMotion.
Notez bien l'imbrication des balises : mpath dans animateMotion et cette dernière dans rect ou image.