ActionScript 3 – Programmation séquentielle et orientée objet
122
Troisième et dernière question : dans quel cas privilégier l’utilisation de la classe Tween()
alors que des propriétés d’occurrences combinées avec la classe Timer() et/ou l’événement ENTER_FRAME aboutissent au même résultat ?
La réponse à apporter à cette interrogation est plus longue car elle nécessite de développer
certains arguments.
Vous allez découvrir que vous pouvez programmer une interpolation de différentes façons.
L’utilisation de l’événement ENTER_FRAME est plus facile à comprendre et à maîtriser en
comparaison de la classe Tween(), mais cette dernière est plus précise pour configurer un
mouvement. Prenons l’exemple des variations de vitesse dans une animation : pour
donner une impression d’élasticité ou de rebond, il faudrait écrire de nombreuses lignes
de code en utilisant la première solution, alors que la classe Tween() constitue une solution
plus efficace.
Par ailleurs, lorsqu’un mouvement doit être mis en pause ou reproduit dans le sens inverse,
la classe Tween() propose des méthodes prêtes à l’emploi, alors qu’avec l’événement
ENTER_FRAME et l’appel de propriétés d’occurrences, tout doit être programmé.
Nous pourrions encore vous exposer plus longuement les avantages de la classe Tween(),
mais vous les découvrirez dans les exemples de ce chapitre, qui présente l’ensemble des
solutions disponibles pour gérer les mouvements d’une occurrence sur la scène.
Utilisation de l’événement ENTER_FRAME
Dans la mesure où la classe Tween() s’avère plus puissante que l’utilisation de l’événement ENTER_FRAME, pourquoi faire appel à ce dernier dans un gestionnaire ?
Dans certains cas, vous disposerez déjà d’une fonction appelée par un écouteur faisant
référence à cet événement. Vous pourrez alors ajouter facilement les quelques lignes de
codes nécessaires pour obtenir un mouvement d’occurrence. Par ailleurs, rappelons que
tout le monde n’a pas le même niveau en programmation : si la classe Tween() vous paraît
complexe à employer, l’événement ENTER_FRAME dans un gestionnaire reste une solution
accessible.
Fichier de référence : Chapitre5/enterframe.fla
Commençons par un premier exemple, celui d’une balle qui se déplace de la gauche vers
la droite de la scène, à vitesse constante.
balle1.addEventListener(Event.ENTER_FRAME,deplacerBalle1);
function deplacerBalle1(evt:Event) {
balle1.x+=1.5;
}
Ce script devrait vous être familier car il a été utilisé dans le chapitre 3 dédié à la gestion
des événements. Nous allons maintenant étudier comment faire varier la vitesse de déplacement d’une occurrence.
Précédent

- 150/426

Suivant