X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=svganimation.git;a=blobdiff_plain;f=doc%2Fpage.md;h=b05b46c6160d15c6ca02cb41d4f4a3042969aa54;hp=a77c3863b4b9f4fcf5fd956ca4fb51515cfc1079;hb=b18b5c7d0c76e52002f8372aac5f597d762c096c;hpb=063e35eea0756d210c9dae72960351f16c42573c diff --git a/doc/page.md b/doc/page.md index a77c386..b05b46c 100644 --- a/doc/page.md +++ b/doc/page.md @@ -1,3 +1,4 @@ + @@ -23,7 +30,9 @@ SVG.

Les différents exemples se charge en cliquant sur le bouton -dédié. Ceci **n'est pas** le comportement par défaut. Il s'agit +dédié. Ceci **n'est pas** le comportement par défaut, c'est du code +JavaScript qui permettra de choisir quand l'animation se charge. Il +s'agit d'éviter de charger toutes les animations présentes sur cette page, cela serait bien trop lourd.

Nous présentons, dans la section XX, le code qui permet de charger @@ -32,29 +41,29 @@ l'animation sur demande.

## Installation -Le fichier `SVGAnimation.js` (que l'on supposera dans un répertoire nommé `js`) est à charger dans la page `html` en mettant les lignes suivantes : +Le fichier `SVGAnimation.js` (que l'on supposera dans un répertoire +nommé `js`) est à charger dans la page `html` en mettant les lignes +suivantes : - -La librairie `SVGAnimation.js` dépend de `JQuery`, il faut donc charger cette bibliothèque JavaScript avant. ## Principe Le principe est simple : on dispose d'un ensemble d'images au format SVG qui constituent, par une suite chronologique, une animation à visionner. La libraire `SVGAnimation` permet de visionner cette -animation dans une page HTML. +animation dans une page HTML grâce à JavaScript. ### La famille d'images Les différentes images composant l'animation doivent se nommer avec un -*prefixe* suivit d'un tiret puis d'un nombre (celui-ci pouvant être -formater de différente façons). +*prefixe* puis d'un nombre (indice), celui-ci pouvant être +formater de différente façons : monfichier-1.svg monfichier-2.svg monfichier-3.svg ... -ou +ou, autre exemple : monfichier-001.svg monfichier-002.svg monfichier-003.svg ... @@ -68,19 +77,133 @@ abondamment pour la production d'animations.

-## L'objet `Animation` +## L'utilisation + +### Côté HTML La librairie `SVGAnimation` définit le *prototype* javascript -`Animation`. Pour l'utiliser il faut déclarer +`Animation`. Pour l'utiliser il faut déclarer une balise HTML `div` +avec un identifiant (`id`) unique. Choisissons pour l'exemple `XXXX`. +À l'intérieur de ces balises, il +faut : +* une balise `img` contenant un image `svg` qui servira de vignette à + l'animation; +* une balise `div` avec l'identifiant `id="XXXX_message"` où `XXXX` est + l'identifiant de la balise englobante. Dans cette balise *message*, + on y met, si on le souhaite, un message à afficher avant le + chargement de l'animation. +* une balise `div` avec l'identifiant `id="XXXX_boutons"` + + +En supposant que les images SVG se trouvent dans un répertoire nommé +`svg`, voici un exemple d'une telle structure : + +~~~~~~~ { .html } +
+ animation1 +
Chargement
+
+
+~~~~~~~ -
- animation1 +### Côté JavaScript + +Une fois qu'on a la structure HTML présentée ci-dessus, il est +nécessaire d'ajouter un peu de code JavaScript permettre à l'animation +de se jouer. + +#### Construire l'objet `Animation` + +Le *constructeur* du prototype JavaScript s'utilise, pour l'exemple +donné à la section précédente, de la façon +suivante : + +~~~~~~~ { .javascript } +var anim = new Animation('XXXX','svg/ellipsographe-',1,91); +anim.loopOnload(); +~~~~~~~ + +`XXXX` est l'identifiant de la balise `div` HTML *englobante*, +`svg/ellipsographe-` est le préfixe dont on a parlé plus haut, `1` est +l'indice de la première image à animer, et `91` l'indice de la +dernière. + +`anim.loopOnload()` permet le chargement de l'animation. + +Une fois celle-ci chargé, il faut en permettre la lecture qui se fait +grâce à un nouvel objet nommé `Controle`. Ce contrôle s'utilise en +fait comme ceci : + +~~~~~~~ { .javascript } +var anim = new Animation('XXXX','svg/ellipsographe-',1,91); +anim.loopOnload(); +var player = new Controle(anim); +player.connect(); +~~~~~~~ + +Nous verrons par la suite comment personnaliser le contrôle de la +lecture de l'animation. + +Tout ceci n'est toujours pas suffisant car il faut exécuter ce code +JavaScript. Ceci peut être fait grâce à `JQuery` par exemple, en +exécutant ces quatre lignes de code à l'ouverture de la fenêtre : + +~~~~~~~ { .javascript } +$(window).load(function() { + var anim = new Animation('XXXX','svg/ellipsographe-',1,91); + anim.loopOnload(); + var player = new Controle(anim); + player.connect(); +}); +~~~~~~~ + +Bien sûr, ceci nécessite le chargement, dans la page HTML, de la +librairie `JQuery`. + + + + + +#### Le résultat + +Tout ceci donne le code suivant + +~~~~~~~ { .html } + + + + + +
+ animation1 +
Chargement
+
+
+~~~~~~~ + +dont le résultat est : + +
+ animation1
Ellipsographe
-
+
-### L'utilisation + +
+ animation1 +
Ellipsographe
+
+
+ ### Les paramètres @@ -89,3 +212,5 @@ La librairie `SVGAnimation` définit le *prototype* javascript ### `SVGPlayerOne.js` ### `SVGPlayerButtons.js` + +## Exemples d'utilisation