|
|
||
| Tutoriaux : faire trembler un clip sur la scène principale | ||
|
1. Introduction |
||
|
||
| 2. Dans la bibliothèque | ||
Dans la bibliothèque de votre animation, créez un clip quelconque. Par exemple, en son centre, créez un champ de texte dans lequel vous placez le mot "TREMBLEMENT". Placez ensuite une occurrence de ce clip sur la scène principale, centrez la horizontalement et dans le panneau "propriétés", nommez cette occurrence "clip". A l'aide d'actionscript nous allons faire trembler cette occurrence de manière répétitive. |
||
| 3. Le code et l'animation obtenue | ||
| Dans le panneau "action" de l'image clé n°1, placez le code suivant pour obtenir l'animation ci-dessous. | ||
amplitude = 60; coefficient = - 0.85; x0 = clip._x; onEnterFrame = function() { clip._x = x0 + amplitude; amplitude *= coefficient; if(Math.abs(amplitude) < 0.01) {amplitude = 60;} } |
||
|
||
| 4. Le code avec ses commentaires | ||
| On initialise un premier paramètre qui définira l'amplitude du tremblement. | ||
| amplitude = 60; | ||
| Le paramètre "coefficient" a une importance fondamentale : c'est lui qui définira la rapidité avec laquelle le tremblement cessera. Proche de -1, le tremblement durera longtemps tandis que proche de zéro le tremblement sera très court. Attention ce paramètre est impérativement négatif et compris entre -1 et 0 ! | ||
| coefficient = - 0.85; | ||
| x0 est la valeur initiale de l'abscisse de l'occurrence qui s'appelle "clip". Le déplacement de cette occurrence sera centré autour de cette abscisse. | ||
| x0 = clip._x; | ||
| On crée une fonction qui sera appelée à chaque image. | ||
| onEnterFrame = function() { | ||
| On définit la nouvelle abscisse de l'occurrence qui s'appelle "clip". | ||
| clip._x = x0 + amplitude; | ||
| On multiplie l'amplitude par la valeur du coefficient. Le signe de l'amplitude change à chaque image (car le coefficient est négatif) et sa valeur absolue diminue (car la valeur absolue du coefficient est inférieure à 1). C'est pour ces deux raisons que l'occurrence "clip" va osciller de part et d'autre de l'abscisse x0 tout en s'en approchant de plus en plus... | ||
| amplitude *= coefficient; | ||
| Quand la valeur absolue de l'amplitude est suffisamment petite (c'est à dire lorsque le tremblement devient imperceptible), on redonne au paramètre "amplitude" sa valeur initiale 60. Et le tremblement recommence... | ||
| if(Math.abs(amplitude) < 0.01) {amplitude = 60;} | ||
| fin de la fonction et de ce tutoriel. J'attends les commentaires, les critiques... < : -) | ||
| } | ||
|
|