X-Git-Url: https://melusine.eu.org/syracuse/G/git/?a=blobdiff_plain;f=doc%2Fpage.md;h=0ef33edf45db04ea7d41e7a34f43d90e4fca5d58;hb=73c1423ab31887669bb5fcbfcd5003abe74a0c87;hp=b05b46c6160d15c6ca02cb41d4f4a3042969aa54;hpb=b18b5c7d0c76e52002f8372aac5f597d762c096c;p=svganimation.git diff --git a/doc/page.md b/doc/page.md index b05b46c..0ef33ed 100644 --- a/doc/page.md +++ b/doc/page.md @@ -1,4 +1,3 @@ - @@ -35,8 +40,9 @@ 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 -l'animation sur demande.

+

Nous présentons, dans la section Chargement différé, le code qui permet de +charger l'animation sur demande.

## Installation @@ -58,7 +64,7 @@ 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* puis d'un nombre (indice), celui-ci pouvant être +*prefixe* suivi d'un nombre (indice), celui-ci pouvant être formater de différente façons : monfichier-1.svg monfichier-2.svg monfichier-3.svg ... @@ -85,14 +91,15 @@ La librairie `SVGAnimation` définit le *prototype* javascript `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 : +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"` + 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é @@ -109,7 +116,7 @@ En supposant que les images SVG se trouvent dans un répertoire nommé ### 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 +nécessaire d'ajouter un peu de code JavaScript pour permettre à l'animation de se jouer. #### Construire l'objet `Animation` @@ -130,7 +137,7 @@ dernière. `anim.loopOnload()` permet le chargement de l'animation. -Une fois celle-ci chargé, il faut en permettre la lecture qui se fait +Une fois celle-ci chargée, 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 : @@ -171,7 +178,6 @@ Tout ceci donne le code suivant ~~~~~~~ { .html } - -
+
animation1 -
Chargement
-
+
Chargement...
+
~~~~~~~ -dont le résultat est : +dont l'affichage est : -
+
animation1 -
Ellipsographe
-
+
Chargement...
+
+#### Chargement différé + +On peut laisser le chargement d'une animation à la demande en créant une +fonction Javascript. -
+~~~~~~~ { .javascript } +function charge_anim2() { + var a = new Animation('anim2','svg/ellipsographe-',1,91); + a.loopOnload(); + var b = new Controle(a); + b.connect(); +} +~~~~~~~ + +Fonction qui sera liée à l'*événement* `onclick` d'un bouton proposant +justement le chargement de l'animation... + +~~~~~~~ { .html } +
+ animation1 +
Ellipsographe
+
+
+~~~~~~~ + +Dans le même temps, le *style* des éléments englobants a été adapté. + +
animation1
Ellipsographe
-
+
+ ### Les paramètres +L'objet `Animation` ne possède que deux propriétés configurables, autres +que celles (4) qui lui sont passées en argument. + +• **delai** *(valeur par défaut : 50)* — C'est la durée, en millisecondes, entre deux images. + +~~~{.javascript} +var a = new Animation('anim','svg/pre',1,100); +a.delai = 200; +a.loopOnload(); +~~~ +Ceci fixera le défilement à 5 images/s. Un *player* comme ceux que nous vous proposons ci-dessus peut +modifier cette valeur. + +• **pad** *(valeur par défaut : 0)* — Ce paramètre n'a d'effet +que s'il est supérieur ou égal à 2, il permet de fixer la longueur des +index des images en complétant avec des 0. + +~~~{.javascript} +var a = new Animation('anim','svg/pre',1,100); +a.pad = 3; +a.loopOnload(); +~~~ +Les images chargées seront, successivement, `svg/pre001.svg`, `svg/pre002.svg`, ..., `svg/pre100.svg`. + ## Les *players* ### `SVGPlayerOne.js`