Vous pouvez me contacter via Facebook pour questions & suggestions :
Page Facebook relative à mon site
Le principe d'une animation Canvas est simple : appeler à intervalles réguliers une fonction d'animation
via une instruction basée sur la fonction setInterval().
Le cercle a un rayon de plus en plus grand puis diminue et le cycle recommence.
Code HTML :
Si clic sur le bouton de commande provoque l'arrêt de l'animation.
Le script :
Au travers de cet exemple simple vous devez comprendre le principe de l'animation automatique dans CANVAS.
Dans la fonction animate on efface le précédent rond grâce à la méthode clearRect(0,0,X,Y) puis on crée un nouveau cercle avec un rayon
différent.
Notez que l'appel régulier de la fonction d'animation est référencé par une variable nommée stop.
Le carré est de plus en plus grand et opaque puis de plus en plus petit et transparent ; le cycle recommence.
Mais le carré est toujours centré dans le canevas.
Le canevas 'responsive' fait 300 par 300.
Le script est un peu plus compliqué car il faut calculer à chaque fois les nouvelles coordonnées de l'angle haut gauche du carré afin qu'il soit toujours
centré.
Imaginez les deux instruction HTML ! : une pour dessiner le canevas et une autre pour dessiner le bouton de commande avec
fin de l'animation si clic.
Cette fois c'est le visiteur qui par clic successifs change l'aspect du rond.
Le rond est d'abord très transparent puis à chaque clic dans le canevas il devient de plus en plus grand et de plus en plus opaque.
Ce troisième canevas 'responsive' de la page fait aussi 300 par 300.
J'utilise le constructeur d'objets Path2D pour définir une forme graphique (un rond) en début de script.
Dans ce troisième script de la page on retrouve des variables qui portent le même nom que pour le premier script
(canevas, contexte, X, Y, rayon, maxi, opacite, etc.). Et pourtant il n'y a aucune ambiguïté car ces variables sont définies dans le cadre
d'une fonction donc sont locales !
Ci-dessous un document HTML dans un Iframe.
Les carrés sont bordurés de bleu et de plus en plus grand.
Il s'agit de l'animation d'un modèle de forme réalisé avec le constructeur Path2D().
Canvas : animations basiques
Cette fonction d'animation :
Première animation
Le code correspondant
Grâce à la fonction setInterval on appelle une fonction nommée animate selon une certaine fréquence
(toutes les 100 millisecondes soit 10 fois par seconde).
Dès que le rayon atteint la valeur maxi (moitié de la largeur de Canevas) la variable variation devient égal à -1.
Donc la variable rayon est décrémentée.
Dès que le rayon redevient égal à 10 variation redevient égal à +1. Donc la variable rayon est incrémentée.
Ainsi l'instruction clearInterval(stop) met fin à l'animation.
Animation 2
Le code correspondant
Le script :
Animation 3
L'animation
Le script correspondant
Le script :
Animation 4
Ce document comprend un canevas.
Il n'y a pas de bouton de commande : un clic sur le canevas pour démarrer l'animation ; l'arrêt est automatique.
Le script correspondant
Intérêt de cette animation
La fonction d'animation n'intègre pas l'instruction clearRect() puisque les dessins doivent s'ajouter.