Interactions avec ActionScript SI28 Flash séance 2 Interactions avec ActionScript ROUSSEAU David , VENDEVILLE Sylvain
Compréhension de l’environnement Rappel : les calques, la scène, la séquence (shift+F2) , la timeline
L’Action Script A quoi sert l’action script ? Définir des propriétés, des actions des comportements sur des objets Permettre la gestion des objets Piloter la navigation dans les animations
Où mettre le code ? Dans une scène (frame) du scénario. Dans les objets eux-même (bouton, clip…) F9 pour afficher la fenêtre des actions
Le code - 1 Les variables : il en existe deux types Les variables locales Elles ne sont connues qu'au niveau de l'animation var MaVarLocale = 3; Les variables globales Elles sont connues à tous les niveaux de l'application _global.MaVarGlobale; MaVarGlobale=9;
Le code - 2 Les structures conditionnelles if : Exemple : if (<conditions>) <instruction1> [ else <instruction2>] Exemple : if (var == 1) play(); else stop(); Différents opérateurs disponibles : == égalité != inégalité && ET logique || OU logique < inférieur à <= inférieur ou égal à
Le code - 3 Les structures conditionnelles switch : il est à utiliser pour remplacer plusieurs if switch(nombre){ case 1 : <instructions> break; case 2 : … default :
Le code - 4 Les boucles itératives For : While : for(i=0;i<10;i++){ <instructions> } Répète les instructions 10 fois While : i=0; While(i<10){ i++; Idem que pour le for mais avec la possibilité d'arrêter la boucle à tout moment en agissant sur le i.
Le code - 5 Les fonctions : Elles exécutent des instructions et son appelables à tout moment. Elles gèrent les paramètres. nom_fonction= function(param1,param2…) { <instructions> return <expression1>; } A la fin de son exécution, la fonction va renvoyer la valeur de l'expression1.
Hiérarchie des objets _root obj1 obj3 obj2 objA ( _root est la racine du document) obj1._parent _root objA._parent obj3
Référence relative/absolue _root obj1 obj3 obj2 objA Référence relative : Le chemin dépend du point de vue de l’objet obj3 : this obj3 this._parent _root objA : this objA this._parent obj3
Référence relative/absolue _root obj1 obj3 obj2 objA Référence absolue : Le chemin est défini dans son intégralité obj3 : _root.obj3 obj3 objA : _root.obj3.obj3 objA
Les niveaux Les clips sont instanciés sur des niveaux différents pour éviter les conflits _level0 : niveau racine équivalent à _root _levelX : niveau X dans l’arborescence Attention aux noms réservés (internes) et à bien respecter la casse
Les boutons Créer une forme puis la convertir en bouton (F8) : Propriétés en double-clic Pour créer un événement, l’écrire dans la fenêtre Actions-Bouton on(release) / on(press) Exemple : bouton vers lien URL on(release){ getURL("http://www.google.fr",blank); }
Navigation/Contrôle du scénario Se déplacer sur la timeline Permet d’accéder à un point précis de la timeline à la demande Attention à mettre stop(); sur la 1ère image Sur le bouton : on(release){gotoAndPlay(x);} x étant la position de la 1ère image de l’animation A la fin de l’animation : gotoAndStop(1); On continue dans la timeline
Navigation/Contrôle du scénario Se déplacer vers d’autres séquences Le principe est le même que précédemment, la seule différence est qu’il faut noter le nom de la séquence à laquelle on souhaite accéder Exemple : 2 séquences : Menu et Anim1 Sur le bouton dans Menu: on(release){gotoAndPlay("Anim1",1);} A la fin de l'animation dans Anim1: gotoAndStop("Menu",1); On continue dans la timeline
Le texte Il existe 3 types de zone de texte Statique : il n'y a pas d'action possible Dynamique : étiquette dont on peut modifier le contenu avec ActionScript Saisie : zone de saisie manipulable avec ActionScript
Le son Flash peut lire un son situé dans le même répertoire que l'application Sur la première image stop(); mp3 = new Sound(); mp3.loadSound("nom.mp3",0); 1 : lit en boucle Sur le bouton de lecture on(release){ mp3.start(debut_lecture(en seconde),Nb_boucles); } Sur le bouton stop mp3.stop();
Expérimentation - 1 Création manuelle Créer une ligne La transformer en clip L’éditer et faire une transition de couleur (interpolation forme) Sortir et la transformer en Clip (+centre) Editer le clip créé et centrer l’aiguille sur la croix centrale Sortir et faire tourner l’aiguille avec le script de la scène Avec "this.onEnterFrame"
Expérimentation – 2 Instanciation avec un script à partir de la bibliothèque Clic droit sur un élément en bibliothèque -> liaison… Clip.attachMovie( « clip » , « nom » , niveau)
Expérimentation – 3 Duplication de clips + propriétés des clips Dupliquer le clip aiguille + paramètres (position…) duplicateMovieClip(« clip » , « nom » , niveau) Assigner la fonction : onEnterFrame
Application externe (pilotable) - 1 Mettre la duplication dans une boucle Pour partager une variable : SharedObject.getLocal("Nom" , chemin) ou Avec une variable globale (_global.var )
Application externe (pilotable) - 2 Créer une nouvelle animation (nouveau fichier) Charger l’animation précédente Avec : loadMovieNum(« chemin » , niveau) et la variable partagée avec : SharedObject.getLocal Ou alors avec Clip.loadMovie(« NomClip »)
Création d'un menu interactif 1ere Méthode : déplacement dans les scènes 2eme Méthode : déplacement dans les séquences 3eme Méthode : Répartition des différentes applications