24
Flash séance 2 Interactions avec ActionScript ROUSSEAU David , VENDEVILLE Sylvain SI28

Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

Embed Size (px)

Citation preview

Page 1: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

Flash séance 2

Interactions avec ActionScript

ROUSSEAU David , VENDEVILLE Sylvain

SI28

Page 2: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

Compréhension de l’environnement

• Rappel : les calques, la scène, la séquence (shift+F2) , la timeline

Page 3: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 4: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 5: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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 globalesElles sont connues à tous les niveaux de l'application

_global.MaVarGlobale;

MaVarGlobale=9;

Page 6: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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 à

Page 7: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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>

Page 8: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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.

Page 9: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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.

Page 10: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

Hiérarchie des objets

_root

obj1 obj3obj2

objA

( _root est la racine du document)

obj1._parent _root

objA._parent obj3

Page 11: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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 obj3obj2

objA

Page 12: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

_root

obj1 obj3obj2

objA

Page 13: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 14: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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 URLon(release){

getURL("http://www.google.fr",blank);

}

Page 15: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 16: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 17: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 18: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

Le son

• Flash peut lire un son situé dans le même répertoire que l'application

• Sur la première imagestop();mp3 = new Sound();mp3.loadSound("nom.mp3",0); 1 : lit en boucle

• Sur le bouton de lectureon(release){

mp3.start(debut_lecture(en seconde),Nb_boucles);}

• Sur le bouton stopon(release){

mp3.stop();}

Page 19: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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èneAvec "this.onEnterFrame"

Page 20: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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)

Page 21: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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

Page 22: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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 )

Page 23: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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 »)

Page 24: Flash séance 2 Interactions avec ActionScript ROUSSEAU David, VENDEVILLE Sylvain SI28

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