Flash – séance 2 Interactions avec Action Script
Qu’est ce qu’Action Script ? Action Script permet de décrire –Les interactions avec l’utilisateur –Le comportement des clips Action Script est un langage de programmation objet complet (debuger, vérification syntaxique…)
Où placer le code AS ? Chaque objet possède une page de code AS Donc deux possibilités –Soit dans une frame du scénario; on utilise alors un calque dédié. –Soit en l’attachant aux objets (boutons, clips, …) eux-même
Comment entrer le code AS ? Fenêtre Actions –Fenêtre > Actions (F9)
Hiérarchie des objets _root objAobjBobjC objA. _parent _root; objD objD. _parent objC; _root désigne l’ensemble du document
Référence absolue / relative (1) Relatif : le chemin d’un objet dépend du point de vue _root objAobjBobjC objD Point de vue de objC this objC this. _parent _root Point de vue de objD this objD this. _parent objC
Référence absolue / relative (2) Absolue : le chemin d’un objet ne dépend pas du point de vue _root objAobjBobjC objD objC objD _root.objC. objD objD _root. objC objC En absolue, on entre l’intégralité du chemin à partir de _root
Référence absolue / relative (3) Moralité : pour ne pas se tromper, on utilise la cible
Exemple : boutons Créer une animation Ajouter un bouton vert et un bouton rouge Associer un code AS aux boutons –Le bouton rouge stoppe l’animation –Le bouton reprend l’animation
Solution Dans la page Actions du bouton vert on (press) { play(); } Dans la page Actions du bouton rouge on (press) { stop(); }
Variables Variables locales var maVariable = « un texte »; var _nombre; Variables globales _global.maVar; MaVar = 3;
Structure de décision : if if ( ) [ else ] if( i == 1) play(); else stop(); Opérateurs logiques != inégalité && AND logique || OR logique < inférieur à <= inférieur ou égal à == égalité
Structure de décision : switch switch (nombre) { case 1: trace ("case 1 est true"); break; case 2: trace ("case 2 est true"); break; case 3: trace ("case 3 est true"); break; default: trace ("aucun cas n’est est true") } switch = aiguillage Remplace avantageusement plusieurs if
Structure itérative for( i = 0; i < 10; i ++){ trace(i); } Opérateurs = affectation +addition -soustraction * multiplication / division --décrémentation ++ incrémentation i=0; while(i<10){ trace(i); i++; }
Fonctions function nom_fonction (param1, param2, … ) { ; return ; } function somme (a, b) { c = a+b; return c; } Ou return a+b;
Zones de texte (1) 3 types de zones de texte : Statique : label simple sans action possible Dynamique : label avec possibilité de modifier le contenu avec ActionScript Saisie : zone de saisie manipulable avec ActionScript.
Zones de texte (2) Créez une petite application flash qui va, à l’aide d’un boutons, copier le contenu d’une zone de texte de saisie dans une zone de texte dynamique.
Gestion des événements Événements sur bouton, souris, clavier on( ) { } Événements sur clip onClipEvent( ){ }
Jouer un son (1) Fichier > Importer Clic droit – Liaison Cocher Exporter pour Action Script Donner un nom : « MonSon"
Jouer un son (2) stopAllSounds(); s = new Sound (); s.attachSound (« MonSon"); s.setVolume (100); s.start (0,1); Comment utiliser l’objet Sound ? Mettre « Sound » en surbrillance et taper F1
Récapitulatif Réaliser un jeu