====== Fiche labo des applis : animer un objet au hasard====== ===== Principe ===== Pour **animer** un objet, il suffit de changer ses coordonnées : * sur l'**axe X** pour le déplacer de vers **la gauche ou la droite**, * sur l'**axe Y** pour le déplacer vers **le haut ou le bas**. Pour le faire **changer plusieurs fois** de position de **manière régulière**, j'utilise la fonction **setInterval(callback, ms)** qui va appeler la fonction (callback) dans laquelle je décris les **actions à faire**, à chaque **intervalle de temps** défini en millisecondes (ms). Pour le définir au hasard ses coordonnées X et Y j'utilise la fonction **randomNumber(min, max)**. ===== Ecran exemple ===== L'angle haut et à gauche de mon objet à les coordonnées suivantes : * x = 100 * y = 335 {{ :icn:laboappli:laboappli:laboappli_01.png?300 |}} Dès que je clique sur le bouton **Lancer** : * je fais déplacer mon objet en **changeant de manière aléatoire** ses coordonnées X et Y toutes les demi-secondes avec la fonction **setInterval(callback, ms)**; * ma fonction **setInterval(callback, ms)** est **attribuée à la variable animer**, * dès que mon objet a été **déplacé 10 fois**, j'arrête la fonction **setInterval(callback, ms)** avec la fonction **clearInterval(interval)** en lui donnant en paramètre la variable attribuée à ma fonction **setInterval(callback, ms)**. {{ :icn:laboappli:laboappli:laboappli_04.png |}} Voici le code javascript : var compter = 0; var x = 100; var y = 335; var animer; onEvent("buttonDeplacer", "click", function() { animer = setInterval(function() { x = randomNumber(0, 320); y = randomNumber(0, 450); setPosition("imageobjet", x, y); compter=compter+1; if (compter==10) clearInterval(animer); }, 500); }); ===== Lien vers l'application ===== https://studio.code.org/projects/applab/9P8-BNlCHWkbiBY5pXSotg ==== Les fiches sur le labo des applis ... ==== [[icn:laboappli:accueil|Je reviens à la liste des fiches sur le labo des applis.]]