La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Deuxième Exposé Si28 2004 Nicolas Debeljak Sun Young Park.

Présentations similaires


Présentation au sujet: "Deuxième Exposé Si28 2004 Nicolas Debeljak Sun Young Park."— Transcription de la présentation:

1 Deuxième Exposé Si28 2004 Nicolas Debeljak Sun Young Park

2 Langage de script permettant de décrire le comportement dynamique des animations et donc des interactions Similaire aux langages de programmation JavaScript, Java, langage C, … Orienté objet ActionScript

3 Le programme ActionScript peut être associé : - Soit à une frame du scénario. Il est donc conseillé de dédier un calque au script. ActionScript - Soit à un objet comme un bouton ou un clip (on à une page de programme par objet)

4 Fenêtre Actions : Fenêtre d’édition du programme Actionscript. Barre des menus: Fenêtre->Actions

5 Fenêtre Actions : Mode normal : Le programme est saisi à l’aide d’un volet d’exploration (boîte à actions) donnant accès aux différentes instructions ou éléments de syntaxe. Il est utile pour des interactions simples. Mode Expert : Le programme est rédigé directement comme avec un éditeur de texte (dans le volet script). Il est utile pour des interactions complexes.

6 Taper le script Description de l’instruction Aide détaillée de l’instruction Ajouter une action Supprimer l’action Changer le mode Mode normal

7 Les erreurs sont citées dans la fenêtre de sortie Mode expert

8 Ajouter deux boutons: Menu: Fenêtre -> Bibliothèques communes -> Boutons Glisser et déposer le bouton (Attention 5 boutons sont créés: effacer les superflus) Dessiner une balle et la convertir en symbole clip (F8) Créer une animation de la balle sur la séquence principale. Clic Droit sur un bouton -> Action Boite à outils actions: Action -> Contrôle de l’animation -> stop Tester l’animation ( Ctrl + Entrée) Exemple: Le bouton qui stoppe la scène animée (Mode Normal)

9 Exercice : Ecrire un programme permettant de reprendre l’animation stoppée lorsqu’on appuie sur l’autre bouton.

10 Quelques règles en Actionscript : Toute instruction doit se terminer par un ; (à l’exception des blocs fermés par } ) : clipGauche.play(); if (monNombre <= 10) { a = 10; } Distinction entre majuscules et minuscules while ≠ While ≠ WHILE

11 Quelques règles en Actionscript : Ne pas utiliser de mots clé comme identifiant (de variable, de fonctions …) : breakelseinstanceoftypeof caseforNewvar continuefunctionReturnvoid defaultifSwitchwhile deleteinThiswith

12 Variable : Définition : Entité destinée à stocker une valeur : - désignée par un identifiant - contenant une valeur d’un certain type : nombre, chaîne de caractères, booléen - possédant un domaine d’utilisation: variable locale, variable globale …

13 Variables : Déclaration : - Variable globale : _global.Identifiant = Valeur; - Variable locale : var Identifiant = Valeur;

14 Variables : Syntaxe de l’affectation : Identifiant = Expression ; Exemples : a = 5 ; b = 1 + 2 ; c = b + 3 ;

15 Variables : Exemples : chaine1 = "Salut !!" ; chaine2 = "Salut " + "tu " + "vas " + "bien " + "???" ; -> chaine2 = "Salut tu vas bien ???" x = true ; y = false && x ;

16 Opérateurs : +(addition) -(soustraction) * (multiplication) / (division) --(décrémentation) ++ (incrémentation) != (inégalité) && (AND logique) || (OR logique) < (inférieur à) <= (inférieur ou égal à) = (affectation) == (égalité)

17 Commentaires : - texte du programme ignorée par Flash - utile pour décrire des parties de programmes complexes - délimités à l’aide des symboles // ou /* et */

18 Commentaires : Exemple : /* Produit Scalaire */ p = x1 * x2 + y1 * y2 + z1 * z2 ; // Produit Scalaire p = x1 * x2 + y1 * y2 + z1 * z2 ;

19 Instruction Conditionnelle if : if ( Condition Logique ) { Instructions } if ( Condition Logique ) { Instructions } else { Instructions } Deux syntaxes :

20 Instruction Conditionnelle if : Exemples : if (a <= 10) { b = 15; } if (a == 10) { b = 5; c = 3; }

21 Fonctions Une fonction permet de réutiliser le code. Syntaxe: function nom_fonction (param1, param2) { Instructions return expression; }

22 Fonctions Exemple : function carre (x) { return x * x; } b = carre (5);

23 Zones de texte: - Outils -> Outil texte -> Placer la zone de texte - Sélectionner la zone de texte - Cliquer sur la fenêtre «Propriétés» Trois types de zone de texte: Texte statique Texte dynamique : peut afficher le contenu d ’ une variable Texte de saisie : permet de saisir le contenu d ’ une variable

24 La zone de texte doit avoir un nom d’occurrence: - S é lectionner la zone de texte - Cliquer sur la fenêtre « Propri é t é s » - Nom d ’ occurrence -> « texte1 » Accéder au contenu de la zone de texte (dynamique) en Actionscript: texte1.text = "Salut"; Zones de texte: accès avec Actionscript

25 Exercice: - Placer une zone de texte: Propriétés: texte dynamique, nom d’occurrence = « texte1 » - Placer une zone de texte: Propri é t é s: texte de saisie, nom d ’ occurrence = « texte2 » - Placer un bouton - Créer le programme qui permet, lorsqu’on appuie sur le bouton, d’afficher le contenu de texte2 dans texte1. Zones de texte: accès avec Actionscript

26 Objet MovieClip : L'objet MovieClip permet de contrôler les occurrences de clip, d'obtenir et de définir leurs propriétés. Les occurrences des clips doivent chacune porter un nom unique.

27 Objet MovieClip : Quelques propriétés: _visible : indique si le clip est visible _x, _y : coordonnées du clip _height, _width : hauteur, largeur _rotation : angle de rotation (en degrés) _alpha : degré de transparence _currentframe : L'image où se trouve actuellement la tête de lecture du clip cible Quelques méthodes: play () : joue l’animation stop () : stoppe l’animation gotoAndPlay (image) : reprend l’animation à une certaine image

28 Objet MovieClip : Exemple: Manipulation de l’objet MovieClip Créer un clip animé et un bouton Propriété du clip -> Nom d’occurrence: « clip1 » Sur le bouton: Clic droit -> Action Taper le programme: on (press) { _root.clip1._height = _root.clip1._height / 1.5; _root.clip1._rotation = _root.clip1._rotation + 10; _root.clip1.gotoAndPlay (5); }

29 Gestionnaires d'événement : Les gestionnaires d’événement permettent d’associer un morceau de programme flash à un objet (clip ou bouton) selon le déclanchement d’un événement : clic, touche du clavier appuyée, etc … Vous pouvez associer des gestionnaires d'événement à une occurrence avec: – onClipEvent() : traite les événements de clips – on () : traite les événements de boutons

30 Gestionnaires d'événement : on () on (press){ actions qui seront réalisées si le bouton est appuyé } on (release) { actions qui seront réalisées si le bouton est relâché } on (rollOver){ actions qui seront réalisées si le pointeur passe au dessus du bouton }

31 Gestionnaires d'événement : onClipEvent() onClipEvent (Load){ actions qui seront réalisées au chargement du clip Par exemple : Initiation des variables } onClipEvent (enterFrame){ actions qui seront réalisées à chaque image du clip }

32 Gestionnaires d'événement Exercice: N é cessite un Bouton et un Clip anim é ( « clip1 » ) Ecrire le programme qui permet: -De stopper l ’ animation d ’ un clip lorsque l ’ on garde le bouton enfonc é -De reprendre l'animation du clip lorsqu'on relâche le bouton - de r é duire la taille du clip à chaque é tape d ’ animation

33 Détection des collisions La m é thode hitTest() v é rifie si un objet est entr é en collision avec un autre objet et renvoie une valeur bool é enne (true ou false). if (clip1.hitTest (clip2)) { script ex é cut é si clip1 est en contact avec clip2 }

34 Glisser / Déposer La fonction startDrag (cible) permet d ’ attacher un clip à la souris, de fa ç on à ce que le clip suive le mouvement de la souris. La fonction stopDrag () d é tache le clip de la souris.

35 Jouer un son: Il est n é cessaire d ’ importer un fichier son dans la biblioth è que : - Fichier – Importer - Choisir un fichier Son - Afficher la biblioth è que : F11 - Choisir le son import é - Clic droit – Liaison - Cocher Exporter pour Action Script - Donner un nom : "Son1"

36 Jouer un son: stopAllSounds(); s = new Sound (); s.attachSound ("Son1"); // associe le son spécifié à l’aide // de l’identifiant de l'objet Sound s.setVolume (100); s.start (0,1);

37 Gestion du Clavier on (keyPress " ") Gestionnaire d’évènement associé à un bouton … Key.getCode() donne le code de la touche Key.getAscii() donne le code ascii if (Key.isDown(Key.DOWN) ) { exécuté si la touche BAS est appuyée }

38 Gestion de la souris on (press, rollOver, etc …) Gestionnaire d’événement _root._xmouseCoordonnées de la _root._ymousesouris.

39 Programmation externe #include "chemin/fichier.as" permet d’inclure le code d’un programme se situant dans un fichier externe. Un fichier externe a pour extension AS. le chemin doit être écrit par rapport à l'endroit où se situe le fichier ".fla".

40 Examen final: créer un pong - Créer deux raquettes: une pour chaque joueur (l’une est dirigée au clavier, l’autre à la souris) - Une balle rebondit contre les murs et contre les raquettes


Télécharger ppt "Deuxième Exposé Si28 2004 Nicolas Debeljak Sun Young Park."

Présentations similaires


Annonces Google