Accueil

Traduction

Tutoriel Canvas - sommaire

Tutoriel Canvas - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

Trois superbes animations Canvas

Dans ce chapitre : rendu au travers d'iframes de trois documents HTML, chaque document contenant un canevas.

Un diaporama automatique

Toutes les deux secondes affichage d'une nouvelle photo sexy.
Remarquez que les photos sont toujours bien centrées dans le canevas et qu'elles ne sont jamais déforméés.
Par aillleurs elles apparaissent avec deux filtres : effet sépia et ombrage.

Cliquez sur le bouton de commmande pour mettre fin au diaporama.
Actualisez la page pour relancer l'animation.

Le code HTML

Le script

La variable entier contient un entier comprend un entier compris entre 1 et 25 et généré de façon aléatoire.
On récupère dans les variables largeur & hauteur les dimensions de l'image chargée. A partir de ces infos on calcule les dimensions d'affichage de l'image et la position de son coin supérieur gauche afin qu'elle soit toujours centrée dans le canevas et jamais déformée.

Une image reste affichée deux secondes (2000 millisecondes) avant qu'elle ne soit effacée puis remplacée par une nouvelle.
routine doit être une variable globale (donc déclarée en dehors de toute procédure) afin que l'instruction clearInterval(routine) fonctionne.

Une horloge qui donne l'heure exacte

Je tiens à préciser que je ne suis pas l'auteur de cette animation. Je l'ai trouvée sur le tutoriel Canvas de la fondation Mozilla.
Suivez le lien

Le script

Je me suis contenté de franciser certaines variables.

Notez l'emploi d'une nouvelle méthode window.requestAnimationFrame(fonction) pour animer le canvas.
Cette méthode rend les animations beaucoup plus fluides qu'avec une minuterie (méthode setInterval()).
Ici la fonction clock() est exécutée en principe 60 fois par seconde.

Un jeu de squash

Intérêt de ce jeu : programmation du clavier.

Utilisez les flèches droite et gauche pour déplacer la raquette.
Ne fonctionne pas sur les écrans tactiles.

Je me suis inspiré d'un code trouvé sur la toile.
Code dont je ne retrouve plus la source et que j'ai profondément personnalisé ; j'ai francisé les noms des fonctions et variables.

Le script

Le code est décomposé en deux nombreuses fonctions : structure qui facilite la compréhension relativement rapide de ce code.
Sur quelle instruction jouer pour ralentir ou accéler le jeu ???
Réponse : var stop = setInterval(jeuballe, 30);

La programmation du clavier

L'un des intérêts de cette application est la programmation du clavier.