Tutoriel GreenSock GSAP pour AS3

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

Objectifs d'apprentissage

  • Apprendre à utiliser la librairie Greensock GSAP dans Flash CS4/CS3/CS5/CS6

Prérequis

Matériel (fichiers *.fla à manipuler)

Qualité et niveau

Ce tutoriel aidera les adeptes de la technique à démarrer. Le niveau de ce tutoriel est un peu haut pour les novices, mais peut servir comme fiche pratique dans un atelier.

Prochaines étapes


Autres versions


1 Introduction

La librairie Tweening Platform v11 offre des fonctions permettant d'accomplir de nombreuses actions. Une fois que vous avez téléchargé et extrait la librairie sur votre ordinateur, pensez bien à ce que votre animation soit fait dans la racine du fichier. (Voir Flash CS4 - Utilisation de librairies pour plus d'informations)

2 Fonctionnalités

Une fois que vous être prêt à écrire dans votre script, vous pouvez lire sur le site du développeur quelles sont toutes les fonctions possibles exécutables grâce à cette nouvelle librairie : liste des fonctionnalités.

P1.jpg


2.1 Génération automatique du code

IL y a également une deuxième solution, un outil interactif à été développé pour "voir" le résultat d'une fonction, il génère même le code ! Il n'y a qu'à spécifier les paramètres et à copier le code Action Script dans votre animation ! Vous pouvez trouver cet outil sur le site de greensock dans la section plugins.

P2.jpg P3.jpg

2.2 Utilisation dans Action Script 3

2.2.1 Modification dynamique d'un paramètre

Une fois le code généré on peut très bien le modifier, regardez les paramètres spécifiques dans le Plugin Explorer ci-dessus (dans la partie encadrée en rouge). Faites des essais pour voir où dans le code se situe le paramètre dans le code.

On peut également modifier les options en leur passant directement une variable comme paramètre. Par exemple dans le code généré ci-dessus :


TweenMax.to(mc, 3, {bezierThrough:[{x:300, y:345}], orientToBezier:true, ease:Bounce.easeOut});


on peut contrôler l'option orientToBezier en lui passant une variable qui a comme valeur le booléen true ou false, c'est-à-dire :


var isOrientToBezierTrue:Boolean = new Boolean();
isOrientToBezierTrue = true;

TweenMax.to(mc, 3, {bezierThrough:[{x:300, y:345}], orientToBezier:isOrientToBezierTrue, ease:Bounce.easeOut});


aura le même effet que le code plus haut. La différence étant que si on veut changer le paramètre, il suffira de changer la valeur de isOrientToBezierTrue.


2.2.2 Fonction de callback ou rappel (à exécuter à la fin du tween)

On peut aussi ajouter une option pour exécuter une fonction à la fin du tween. Ce genre de fonction s'appelle une fonction de Callback (ou fonction de rappel en français), car elle est appelée une fois l'instruction principale effectuée. Si l'instruction principale génère une variable "retour" (comme par exemple l'indication d'un état d'erreur), cette variable est passée en argument à la fonction de callback.

Remarque : c'est le cas des fonctions que l'on passe comme argument pour gérer les événements, techniquement il s'agit donc de fonction de callback qui est appelée une fois que la fonction "addEventListener" a terminé son travail avec comme argument l'objet événement (Event) généré par "addEventListener".


La fonction de callback la plus utilisée pour les tween fait avec GreenSock est sans doute onComplete, voici sa syntaxe :


TweenMax.to(mc, 3, {bezierThrough:[{x:300, y:345}], orientToBezier:isOrientToBezierTrue, ease:Bounce.easeOut, onComplete: myFunction});


Comme vous le voyez, on rajoute simplement avant la fin de l'accolade onComplete: myFunction et la fonction "myFunction" va être exécutée en callback.

Vous pouvez trouver un exemple "en contexte" de l'utilisation du callback onComplete GreenSocks_tweening_platform ici.

2.2.3 Contrôler un tween

Pour cela il faut d'abord avoir un moyen de référencer le tween, donc l'assigner à une variable. On doit donc le créer avec le code suivant :


var myTween:TweenMax = new TweenMax(mc,1,{});
myTween=TweenMax.to(mc, 3, {bezierThrough:[{x:300, y:345}], orientToBezier:true, ease:Bounce.easeOut});


Remarquons que l'on doit directement spécifier un objet (existant) auquel le tween va être attaché ainsi qu'une durée pour le tween dans l'instruction "var myTween:TweenMax = new TweenMax(mc,1,{});". Mais pas d'inquiétude, on pourra toujours mettre d'autres valeurs dans l'instruction d'après.


On peut alors contrôler le tween avec les méthodes suivantes (disponibles en détails dans la section controling tweens du tutoriel de TweenMax.


//pause
myTween.pause();

//reprends(conserve la direction - inversée ou non)
myTween.resume();

//inverse (va toujours un arrière dans la direction du départ)
myTween.reverse();

//lire (va toujours en avant)
myTween.play();

//recommence (depuis le départ)
myTween.restart();

//invalide (annule les valeurs de départ et force le tween à se réinitialiser)
myTween.invalidate();

//"tue" le tween immédiatement (en cours de lecture ou non)
myTween.kill();

//"tue" tous les tweens d'un objet
TweenLite.killTweensOf(mc);


On peut aussi utiliser TimelineLite ou TimelineMax pour inclure plusieurs tween à la suite dans la timeline. Pour cela, voir le tutoriel sur la page GreenSocks tweening platform.