ActionScript 3 – Programmation séquentielle et orientée objet
138
la variable servant de base au calcul du cosinus et/ou du sinus (+ 0.1 dans notre exemple)
est important, plus rapide sera le mouvement ; en revanche, moins il sera précis.
Mouvement pendulaire
Fichier de référence : Chapitre5/cossin3.fla
Un mouvement pendulaire est très proche d’une trajectoire circulaire. Ce qui différencie
ces deux trajectoires est le traitement appliqué au calcul de la position verticale.
En observant l’animation de l’adresse ci-dessous, vous pouvez constater que les deux
occurrences noire et rouge passent toutes les deux au-dessus de l’axe des abscisses.
http://www.yazo.net/index.php?option=com_content&task=view&id=32&Itemid=47
Nous devons réussir à les conserver sous cet axe, ce qui peut être obtenu facilement en
utilisant la fonction mathématique qui renvoie une valeur absolue : Math.abs(). Par exemple,
Math.abs(-23,5) donne 23,5.
var valeurCroissante:Number = 0;
planete.addEventListener(Event.ENTER_FRAME,mouvementLineaire);
function mouvementLineaire(evt:Event) {
valeurCroissante+=0.05;
evt.currentTarget.x=250+(Math.sin(valeurCroissante)*50);
evt.currentTarget.y=150+(Math.abs(Math.cos(valeurCroissante))*50);
}
Le fait de placer Math.cos() dans la fonction Math.abs(), nous permet d’obtenir une valeur
positive.
Pour obtenir un mouvement pendulaire au-dessus de l’axe des abscisses, il suffit de rendre
négatives toutes les valeurs calculées. Il suffit donc de les multiplier par -1. Dans la
mesure où nous effectuons déjà une multiplication dans notre calcul, remplaçons simplement 50 par -50.
Effet pulse
Fichier de référence : Chapitre5/cossin3.fla
Qui n’a jamais vu un Macintosh avec sa veille lumineuse qui respire ? Pour obtenir un
effet d’occurrence qui devient de plus en plus transparente avant de redevenir opaque
puis de recommencer perpétuellement ce cycle, donnant ainsi l’impression de pulsions, il
vous suffit de partir du script du mouvement pendulaire. La combinaison d’une fonction
sinus ou cosinus avec une valeur absolue permet d’obtenir une série de nombres que vous
pouvez alors utiliser avec la propriété alpha.
138
la variable servant de base au calcul du cosinus et/ou du sinus (+ 0.1 dans notre exemple)
est important, plus rapide sera le mouvement ; en revanche, moins il sera précis.
Mouvement pendulaire
Fichier de référence : Chapitre5/cossin3.fla
Un mouvement pendulaire est très proche d’une trajectoire circulaire. Ce qui différencie
ces deux trajectoires est le traitement appliqué au calcul de la position verticale.
En observant l’animation de l’adresse ci-dessous, vous pouvez constater que les deux
occurrences noire et rouge passent toutes les deux au-dessus de l’axe des abscisses.
http://www.yazo.net/index.php?option=com_content&task=view&id=32&Itemid=47
Nous devons réussir à les conserver sous cet axe, ce qui peut être obtenu facilement en
utilisant la fonction mathématique qui renvoie une valeur absolue : Math.abs(). Par exemple,
Math.abs(-23,5) donne 23,5.
var valeurCroissante:Number = 0;
planete.addEventListener(Event.ENTER_FRAME,mouvementLineaire);
function mouvementLineaire(evt:Event) {
valeurCroissante+=0.05;
evt.currentTarget.x=250+(Math.sin(valeurCroissante)*50);
evt.currentTarget.y=150+(Math.abs(Math.cos(valeurCroissante))*50);
}
Le fait de placer Math.cos() dans la fonction Math.abs(), nous permet d’obtenir une valeur
positive.
Pour obtenir un mouvement pendulaire au-dessus de l’axe des abscisses, il suffit de rendre
négatives toutes les valeurs calculées. Il suffit donc de les multiplier par -1. Dans la
mesure où nous effectuons déjà une multiplication dans notre calcul, remplaçons simplement 50 par -50.
Effet pulse
Fichier de référence : Chapitre5/cossin3.fla
Qui n’a jamais vu un Macintosh avec sa veille lumineuse qui respire ? Pour obtenir un
effet d’occurrence qui devient de plus en plus transparente avant de redevenir opaque
puis de recommencer perpétuellement ce cycle, donnant ainsi l’impression de pulsions, il
vous suffit de partir du script du mouvement pendulaire. La combinaison d’une fonction
sinus ou cosinus avec une valeur absolue permet d’obtenir une série de nombres que vous
pouvez alors utiliser avec la propriété alpha.
