240 likes | 402 Views
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 ?
E N D
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 : 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 : <instructions> break; … default : <instructions>
Le code - 4 • Les boucles itératives • For : for(i=0;i<10;i++){ <instructions> } Répète les instructions 10 fois • While : i=0; While(i<10){ <instructions> 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.
_root obj1 obj2 obj3 objA Hiérarchie des objets ( _root est la racine du document) obj1._parent _root objA._parent obj3
_root obj1 obj2 obj3 objA Référence relative/absolue • 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
_root obj1 obj2 obj3 objA Référence relative/absolue • 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 on(release){ 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