Académique Documents
Professionnel Documents
Culture Documents
0
Cours 1 : Les bases de l’Action Script
DUT Services et réseaux de
communication
Cours de CARTEAU Nicolas
Sommaire
1. Les variables
2. Les opérateurs mathématiques
3. La fonction « trace »
4. Les clips
5. Les opérateurs tests
6. Les conditions
7. Les boucles
8. Les fonctions
9. Les évènements
Les variables
Les variables
L’action Script 2.0 repose sur la gestion des variables (numériques, textuelles,
graphiques, …)
En AS 2.0, il est fortement conseillé de déclarer les variables
Voilà comment on déclare une variable :
var ma_var : type = résultat ;
Aux majuscules, minuscules, points virgules.
Les variables
Les types de Variables :
Number : pour les nombres
var mon_nombre:Number = 1;
String : pour les chaines de caractère
var ma_chaine:String = « Coucou »;
Array : pour les tableaux
Booléen : pour les choix à 2 possibilités
Les espaces entre les variables, le égal et le nombre ne sont pas importante
Les variables
Variables de type « String » :
Exemple 1 :
Exemple 2 :
Afin de rajouter des guillemets dans les chaines de caractère, il faut utiliser le « / »
Les variables
Variables de type « Array » :
Exemple 1 :
Exemple 2 :
Exemple 1 :
Exemple 2 :
var mon_bool:Boolean = true; // renvoie la valeur true ou 1
var mon_bool2:Boolean = true; // renvoie la valeur true ou 1
var total:Number = mon_bool + mon_bool2 ; // renvoie 2
Cette fonction est surement une des plus importantes de Flash. Elle permet de vérifier
et de débuguer les scripts.
Exemple :
Cette fonction affiche le résultat dans l’onglet « sortie »
Les clips
Les clips
Nommer les clips qui vont être affecter par du code Action
Script en cliquant dessus et en remplaçant le texte <Nom de
l’occurrence> dans les propriétés du clip
Les clips
Le ciblage des clips :
_global => fait référence à un clip n’importe ou dans l’architecture
_level => fait référence à un clip en rapport avec la hauteur de son level
_root => fait référence à la scène
this => fait référence au clip sélectionné
+ la fonction « target »
Les clips
Le ciblage des clips : _parent
Ce type de ciblage revoie au clip parent. (très utilisé)
Exemple :
_parent.gotoAndPlay(1);
Attention, il n’existe pas de niveau en dessous de _root (la scène).
Les clips
Le ciblage des clips : _root
Ce type de ciblage revoie à la racine du fichier swf. Il est déconseillé de l’utiliser
puisque cela revient à spécifier un chemin absolu.
Exemple :
_root.stop(); // arrête l’animation
Les clips
Le ciblage des clips : this
Ce type de ciblage permet de préciser au compilateur que nous travaillons sur l'objet
qui contient le script.
Exemple :
this.createTextField("counter_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
Les clips
Le ciblage des clips : _level
Ce type de ciblage est utilisé pour les importations de fichier ou clip sur la scène. Il
permet d’accéder directement au clip souhaité grâce à sa hauteur (level).
Exemple :
loadMovieNum(“test.swf", 9);
_level9.stop();
Les clips
Le ciblage des clips : _global
Ce type de ciblage est utilisé pour des variables qui serviront de nombreuses fois à
n’importe quels niveaux (_level) du fichier swf. Ce type de ciblage permet d’accéder
rapidement à une variable sans la rechercher ou à écrire plusieurs (_parent).
Exemple :
_global.ma_Var = "global_Variable";
trace(_global.ma_Var); // affiche : global_Variable
trace(ma_Var); // affiche : global_Variable
ma_Var = "local_Variable";
trace(_global.ma_Var); // affiche : global_Variable
trace(ma_Var); // affiche : local_Variable
Les clips
Le ciblage des clips : _target
La fonction _target s’utilise souvent dans la fonction trace. Elle renvoie le chemin ciblé
d’un clip choisi.
Exemple :
trace(my_btn._target); // Affiche : /my_btn
Exemple 2 :
Admettons que le bouton ce situe dans un clip nommé « menu »
trace(my_btn._target); // Affiche : /menu/my_btn
Les clips
Les propriétés des clips :
En Action Script, chaque clip nommé possède de très nombreuses propriétés.
Exemple de propriété :
‐ positionnement (x et y)
‐ taille (height et width)
‐ étirement (xscale et yscale)
‐ rotation (rotation)
‐ transparence (alpha)
‐ visibilité (true et false)
Les clips
Le positionnement des clips :
En Action Script le positionnement se fait à partir du coin (haut gauche) de l’écran. La
propriété « x » correspond à l’axe horizontal et « y » à l’axe vertical.
Exemple :
On créer un clip nommé « mon_clip » que l’on place sur la scène
mon_clip._x=50; // déplace le clip de 50 pixels vers la droite
mon_clip._y=100; // déplace le clip de 100 pixels vers le bas
Attention, ne pas oublier le « _ » sinon, on définit une coordonnée sans déplacer
l’objet.
mon_clip.k=50; // définie la coordonée k à 50
Les clips
Le positionnement des clips :
Exemple 2 :
On crée un clip à l’intérieur d’un autre clip nommé « mon_clip_2 »
mon_clip._x=50; // déplace les clips de 50 pixels vers la droite
mon_clip._y=100; // déplace les clips de 100 pixels vers le bas
mon_clip. mon_clip_2._x = 25; // ajoute 25 px vers la droite au 2eme clip
mon_clip. mon_clip_2._y = 50; // ajoute 50 px vers la bas au 2eme clip
Les clips
La taille des clips :
Les clips possèdent aussi les propriétés _width et _height. Ces propriétés permettent
d'indiquer la hauteur et la largeur des clips en pixels.
Exemple :
Les clips ont également une propriété de rotation. En Action Script, les rotations
s’expriment en degré, et vont de ‐180° à +180°. La rotation s’effectue autour du point
d’ancrage du clip.
Exemple :
mon_clip._rotation = 180 ; // Retourne complétement mon_clip
mon_clip._rotation = 90 ; // Tourne mon_clip vers la droite
mon_clip._rotation = ‐90 ; // Tourne mon_clip vers la gauche
mon_clip._rotation = 45 ; // Tourne mon_clip en biais vers la droite
Les clips
La rotation des clips :
Exemple :
Dans ce 2eme exemple, on va faire une rotation du clip par rapport à un autre clip
nommé cible.
• clip2._y‐clip1._y => distance vertical entre les 2 clips
• clip2._x‐clip1._x => distance horizontal entre les 2 clips
• Math.atan2 => fonction permettant de renvoyer l’angle en radian
• Math.PI/180 => astuce permettant de renvoyer l’angle en degré
Les clips
La transparence des clips :
Le logiciel Flash est très souvent utilisé pour ses effets visuels dynamiques. La
transparence (_alpha) est l’un des plus pratique.
Exemple :
mon_clip._alpha = 100; // le clip est visible
mon_clip._alpha = 50; // le clip est à moitié transparent
mon_clip._alpha = 0; // le clip est invisible
mon_clip._alpla = 0; ne signifie pas que le clip est supprimé
Les clips
La visibilité des clips :
La propriété _visible permet d’activer ou de désactiver un clip.
On peut lui assigner que 2 valeurs : true (visible) ou false (invisible).
Exemple :
mon_clip._visible = false; //Le clip sera invisible
mon_clip._visible = true; //Le clip sera visible
Les opérateurs tests
Les opérateurs les plus courants:
‐ Est égal à ……………………….. == L’opérateur Opposé ……………….. !
‐ N’est pas égal à ……………… != L’opérateur ET…………………………. &&
L’opérateur OU……………………….. ||
‐ Plus petit que ………………… <
‐ Plus grand que ………………. >
‐ Plus petit ou égal à ……….. <=
‐ Plus grand ou égal à ………. >=
‐ Strictement égal ……………. ===
‐ Strictement inégal………….. !==
Les conditions
Les conditions
Les conditions utilisées en Flash:
‐ IF
‐ IF ELSE
‐ IF ELSE IF
‐ SWITCH
Les conditions
La condition IF :
La fonction if (si) s’effectue de la manière suivante :
if (condition) {
// Action effectuer si la condition est remplie
}
Exemple 1 :
if (50<100) {
trace("en effet, 50 plus petit que 100");
}
Les conditions
La condition IF ELSE :
La fonction if else (si sinon) s’effectue de la manière suivante :
if (condition) {
// Action effectuée si la condition est remplie
} else {
// Action effectuée si la condition n’est pas remplie
}
Exemple 1 :
if (50>100) {
trace(« la condition était vraie »);
} else {
trace (« la condition était fausse »);
}
Les conditions
La condition IF ELSE IF :
La fonction if else if (si sinon si) s’effectue toujours de la manière.
Exemple 1 :
Les boucles servent à répéter une partie du code
Voici les 2 boucles utilisées dans Flash :
‐ WHILE
‐ FOR
Les boucles
La boucle While (Tant que) :
La boucle while s’effectue de la manière suivante :
while (condition) {
// instruction à effectuer
}
Tant que la condition est remplie, Flash ré‐exécutera le code à l'intérieur de la boucle.
Exemple 1 :
while(mon_nombre > 0) { // Tant que mon_nombre est strictement plus grand que 0
mon_nombre‐‐; // On décrémente la variable (on soustrait 1 )
* trace(mon_nombre); // On affiche la valeur de nom_nombre
}
Attention à ne pas faire de boucle infinie ex : while(true){….. }
Les boucles
La boucle For (Pour) :
La boucle For s’effectue de la manière suivante :
for (initialisation ; conditions ; transition) {
// instruction à effectuer
}
Idem : Tant que la condition est remplie, Flash ré‐exécutera le code à l'intérieur de la
boucle.
Exemple 1 :
for (var mon_nombre:Number = 1; mon_nombre<=10; mon_nombre++) {
trace(mon_nombre); // affiche 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}
Idem : Attention à ne pas faire de boucle infinie
Les fonctions
Les fonctions
Comment déclarer une fonction:
Le but d'une fonction est de pouvoir exécuter une certaine tâche à chaque fois qu'on
l'appelle.
Il existe 2 manière d’écrire une fonction :
function ma_fonction() {
trace(“………….”);
}
ma_fonction = function () {
trace(“…………”);
}
Les fonctions
Comment déclarer une fonction:
Afin d’exécuter le code d’une fonction, il faut l’appeler :
ma_fonction() ;
Exemple de fonction :
function mafonction() {
for (i=0; i<500; i++) {
trace(‘salut');
}
}
mafonction();
Les fonctions
L’utilisation des fonctions avec des arguments :
Pour optimiser une fonction, il est intéressant de pouvoir lui passer des arguments ,
c'est‐à‐dire des variables qui vont influencer sur son fonctionnement.
Exemple 1 :
function bonjour(qui:String) {
trace('Bonjour '+qui);
}
bonjour('toi');
Exemple 2 :
function bonjour(prenom:String,nom:String) {
trace('Bonjour '+prenom+' '+nom);
}
bonjour('Gérard',‘Durand');
Les fonctions
L’utilisation des fonctions avec des retours :
Et enfin, on peut retourner certaines valeurs à l’intérieur des fonctions
Exemple 1 :
function au_carre(nombre) {
return nombre*nombre;
}
trace(au_carre(5)); // Affiche 25
Exemple 2 :
function pourcentage(valeur:Number,total:Number) {
var pourcent = (valeur/total)*100;
return pourcent+' %';
}
trace(pourcentage(2500,50000)); // affiche 5%
Les évènements
Les évènements
Les évènements sur les boutons:
Les événements sont des actions, tel un clic de souris de l'utilisateur ou la pression
d'une touche du clavier, qui se produisent dans votre animation.
Quand l'utilisateur fera telle ou telle action, l'événement correspondant sera appelé
et le code associé sera exécuté.
Voici la manière la plus simple d’appeler un événement :
monclip.mon_evenement = function () {
trace ("événement appelé");
}
Les évènements
Les types d’évènements :
Les évènements
L’évènement « onPress » :
Cet évènement se déclenche lors du clic gauche de la souris sur le clip. (L’action se
déclenche au moment ou le bouton de la souris s’abaisse)
Exemple 1 :
mon_clip.onPress = function () {
trace ("évènement appelé");
}
Les évènements
L’évènement « onRelease » :
Cet évènement se déclenche lorsque l’on relâche le bouton de la souris sur le clip. Il
est préférable de l'utiliser, puisqu’il laisse la possibilité d'annuler son choix, tout
simplement en gardant le bouton appuyé et en relâchant ailleurs.
Exemple 1 :
mon_clip.onRelease = function () {
this._xscale=125;
}
Les évènements
L’ évènement « onRelease Outside» :
Cet évènement se déclenche lorsque le bouton de la souris est enfoncé sur le clip et
relâché en dehors du clip.
Exemple 1 :
mon_clip.onReleaseOutside = function () {
this._yscale=125;
}
Les évènements
L’ évènement « onRollOver» :
Cet évènement se déclenche lorsque la souris passe sur le clip. Il peut permettre par
exemple de changer l’aspect du clip
Exemple 1 :
mon_clip.onRollOver = function () {
this._alpha=50;
}
Les évènements
L’ évènement « onRollOut» :
Cet évènement se déclenche lorsque la souris sort du clip.
Exemple 1 :
mon_clip.onRollOver = function () {
this._alpha=50;
}
mon_clip.onRollOut = function () {
this._alpha=100;
}
Les évènements
mon_clip.onRollOver = function () {
this._alpha=50;
}
mon_clip.onRollOut = function () {
this._alpha=100;
}
mon_clip.onPress = function () {
this._xscale=125; this._yscale=125; this._rotation = 10;
}
mon_clip.onRelease = function () {
this._xscale=100; this._yscale=100; this._rotation = 0;
}
mon_clip.onReleaseOutside = function () {
this._xscale=100; this._yscale=100; this._rotation = 0;
}
Les évènements
Les évènements de la souris :
Ces évènements ne s’appliquent pas aux clips mais sur toute la scène.
Il en existe 3 :
‐ onMouseDown
‐ onMouseUp
‐ onMouseMove
Les évènements
L’évènement « onMouseDown» :
Cet évènement se déclenche lorsque vous cliquez sur la souris n’importe ou sur la
scène.
Exemple 1 :
mon_clip.onMouseDown = function () {
trace ("Bouton de la souris enfoncé");
}
Les évènements
L’évènement « onMouseUp» :
Cet évènement se déclenche lorsque le bouton de la souris est relâché.
Exemple 1 :
mon_clip.onMouseUp = function () {
trace ("Bouton de la souris relaché");
}
Les évènements
L’évènement « onMouseMove» :
Cet évènement se déclenche lorsque la souris se déplace (même si elle se déplace de
1px)
Exemple 1 :
Cet évènement se déclenche de façon continue et constante selon la rapidité
d’exécution de votre animation (nombre d’images par seconde) .
Exemple 1 :
monclip.onEnterFrame = function() {
this._x = _root._xmouse;
this._y = _root._ymouse;
}
Exemple 2 :
monclip.onEnterFrame = function() {
this._rotation ++;
}