begin process at 2012 02 10 06:18:35
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

ActionScripts

 > TUTORIEL AS3 (Les notions "de base" :)

TUTORIEL AS3 (Les notions "de base" :)


 Information sur le tutoriel

Note :
Aucune note

 Description

Ceci est un petit refresh de la  syntaxe de l'Actionscript version 3 . Ca me semblait utile de mettre à jour les anciens tutos pour cette nouvelle mouture.

Tutorial

TUTORIEL AS3

PARTIE 1 (NOTIONS DE BASE DE L ‘ACTIONSCRIPT)


CREATION D’OBJETS



Pour créer un objet, voici deux méthodes:


Soit vous lui donnez un nom d’occurrence dans le panneau des Propriétés, soit vous lui définissez ses propriétés de liaison (click droit sur l’instance dans la Bibliothèque -> Liaison). Dans ce cas vous renseignerez le nom de sa classe, sa classe de base et vous cocherez « exportez pour Actionscript ». Vous pourrez donner le même nom de Classe que celui de l’instance de l’objet :


Classe: MonClip

Classe de base: flash.display.MovieClip

Liaison: Exportez pour Actionscript



Ensuite on crée une variable pour contenir l’instance de l’objet et on affiche ce clip à l’aide de la méthode addChild().


ex:


var monClip:MonClip = new MonClip();

addChild(monClip);




EVENEMENTS



Les événements sont des faits qui surviennent, comme le mouvement de la souris par exemple, avec lesquels Actionscript peut interagir.


ex:


monClip.addEventListener(MouseEvent.CLICK, fonctionClick);

monClip.addEventListener(Event.ENTER_FRAME, fonctionEnterframe);




GESTION DES EVENEMENTS DE BASE



La gestion des événements est la technique qui permet de spécifier les actions à exécuter en réponse à des événements particuliers.


ex:


function fonctionClick(event:MouseEvent):void

{

// Code …

}

monClip.addEventListener(MouseEvent.CLICK, fonctionClick);




VARIABLES



Une variable est un nom qui représente une valeur dans la mémoire de l’ordinateur. La création d’une variable s’effectue à l’aide de l’instruction var.


ex:


// nom / type / valeur

var maValeur:Number = 8;

var maValeur:String = “Marie”;

var maValeur:Boolean = false;



(les valeurs numériques incluent trois types de données: Number toute valeur numérique, int un nombre entier, uint un nombre entier qui ne peut être négatif)




METHODES



Une méthode est une action qui peut être effectuée par un objet.


ex:


monClip.play();

monClip.stop();


.


PROPRIETES



Une propriété représente l’une des données réunies dans un objet.


ex:


monClip.x = 50;

monClip.rotation = 90;




BOUCLES



Une boucle permet d’exécuter un bloc de code spécifique de façon répétée.


La boucle for permet de faire une itération sur une variable pour une plage de valeurs spécifique.


ex:


var i:int;

for (i = 0; i < 8; i++)

{

trace(i);

}


// sortie :

// 01234567



La boucle for.. in permet de faire une itération sur les propriétés d’un objet ou les éléments d’un tableau.


ex:


var monObjet:Object = {x:50, y:100};

for (var i:String in monObjet)

{

trace(i + “: ” + monObjet[i]);

}


// sortie :

// x: 50

// y: 100



La boucle for each..in vous permet de faire une itération sur les éléments d’une collection (balises dans un objet XML ou XMLList, valeurs des propriétés d’un objet ou éléments d’un tableau).


ex:


var monObjet:Object = {x:50, y:100};

for each (var num in monObjet)

{

trace(num);

}


// sortie :

// 50

// 100



ou sur un objet XML


ex:


var monXML:XML =

<Utilisateurs>

<Prenom>Marie</Prenom>

<Prenom>Paul</Prenom>

<Prenom>Jacques</Prenom>

<Utilisateurs>;


for each (var item in monXML.Prenom)

{

trace(item);

}


//sortie:

//Marie

//Paul

//Jacques



ou sur les éléments d’un tableau


ex:


var monArray:Array = ["Marie", "Paul", "Jacques"];

for each (var item in monArray)

{

trace(item);

}


// sortie :

// Marie

// Paul

// Jacques



La boucle while est semblable à une instruction if qui se répète tant que la condition est verifiée.


ex:


var i:int = 0;

while (i < 8)

{

trace(i);

i++;

}


// sortie :

// 01234567



La boucle do..while est une boucle while qui garantit que le bloc de code est exécuté au moins une fois, car la condition est vérifiée une fois que le bloc de code est exécuté.


ex:


var i:int = 8;

do

{

trace(i);

i++;

}

while (i < 8);


// sortie :

// 8




CLASSE TIMER


Pour la gestion des fonctions temporelles dans ActionScript 3 on peut utiliser la classe Timer() qui permet de distribuer des événements dès qu’un intervalle est atteint. Pour cela il faudra créer un nouvel objet Timer, ensuite on lui passera le nombre de millisecondes entre les événements.


ex:


var monTimer:Timer =new Timer(1000);

monTimer.addEventListener(TimerEvent.TIMER, fonctionTimer);


function fonctionTimer(event:TimerEvent):void

{

// Code …

}

monTimer.start();


.


INSTRUCTIONS CONDITIONNELLES


L’instruction conditionnelle if..else permet de tester une condition, puis d’exécuter un bloc de code lorsque cette condition est remplie, d’en exécuter un autre dans le cas contraire.


ex:


if (maValeur == 0)

{

trace(”0);

}

else

{

trace(”non défini”);

}



L’instruction conditionnelle if..else if permet de tester plusieurs conditions.


ex:


if (maValeur > 0)

{

trace(”maValeur = +”);

}

else if (maValeur < 0)

{

trace(”maValeur = -”);

}

else

{

trace(”maValeur = 0);

}



L’instruction switch est utile si vous avez plusieurs chemins d’exécution sur la même expression de condition.


ex:


var maValeur:String = “3;

switch(maValeur)

{

case “0 :

trace(”maValeur = 0);

break;

case “1 :

trace(”maValeur = 1);

break ;

case “2 :

trace(”maValeur = 2);

break;

case “3 :

trace(”maValeur = 3);

break;

default :

trace(”maValeur = <0 ou >4);

break ;

}




Commentaires

Commentaire de didiledoux le 29/10/2008 10:59:40

c'est impecable

Commentaire de on_drag_on le 01/11/2008 18:10:37

Merci, je n'ai pas vraiment un grand mérite, tout se trouve dans l'aide de Flash, me semblait juste important de mettre au propre la base principale de l'AS.

Commentaire de delminator le 03/12/2008 11:51:37

c'est bien le problème pourquoi c'est jamais propre comme ça dans l'aide? lol

Commentaire de mp141024 le 03/01/2009 13:33:49

Super, j'y vois un peu plus clair, j'ai tout une série de bouquin sur L'as2 mais je vois des différences assez énormes entre l'as2 et l'as3 donc j'ai un peu abandonné tous ces bouquins. Bref comme le dit Delminator l'aide de Flash est un peu bordelique.

J'aurais aimer trouver une ressource qui me liste tous les évenements qu'on peut écouter avec addEventListener. ça existe sûrement, peut être même dans la documentation de flash mais ça ne fait que quelque jours que je m'y suis mis alors j'ai pas vraiment eu le temps de fouiller :o(

Si quelqu'un sait ...

Commentaire de aumcreation le 03/04/2009 16:58:07

+ 1 pour delminator..
Personnellement je suis graphiste, jusqu'à présent j'étais sur l'A.S 2, je faisais rien de bien compliqué mais au moins j'y arrivais.. Là c'est une galère pas possible et je trouve vraiment mais vraiment (j'insiste) que l'aide de flash c'est rebutant et pas du tout fait pour simplifier la tache de ceux qui la consulte (à moins d'être un programmateur averti... ). C'est dommage je trouve d'avoir perdu ce coté user-friendly de l'as2...

Donc merci à toi On_Dragon pour remettre les bases à plat de façon aussi clair (et ça vaut pour tes autres tuto) ;)

Commentaire de on_drag_on le 03/04/2009 18:28:08

Salut,

Un tuto que je vous conseille vivement de suivre, y'en a pour 2 heures environ en suivant le 1er et le 2ème épisode , ça me parait parfait pour bien débuter en AS3.

http://www.flashxpress.net/ressources-flash/tutoriel-video-as3-1er-episode/?archiveId=23

;=)

Commentaire de aumcreation le 06/04/2009 13:12:24

Salut On_drag_On, merci pour le lien.. Très intéressant.. Je viens de finir la première vidéo et m'attaquer à la deuxième cet aprèm..
Par contre j'ai juste un énorme problème sur cette vidéo...
Sur la fin il parle de l'object simplebutton. Bon là j'ai fait exactement tout ce qu'il a fait, soit :

_______________________________________________________________________________________________________________

stop();


for (var i:int = 0; i<10; i++){
// int = nombre entier !

var myButton : SimpleButton = new SimpleButton();

// création du premier état
var downShape : Shape = new Shape ();
downShape.graphics.lineStyle (2, 0x202020);
downShape.graphics.beginFill (0x00FF00);
downShape.graphics.drawCircle (25, 25, 25);

var overShape : Shape = new Shape ();
overShape.graphics.lineStyle (2, 0x202020);
overShape.graphics.beginFill (0xFF0000);
overShape.graphics.drawCircle (25, 25, 25);

// on affect l"état au bouton
myButton.downState = downShape;
myButton.overState = overShape;
myButton.upState = overShape;
myButton.hitTestState = overShape // définition de la zone cliquable

myButton.x = Math.random()*stage.stageWidth;
myButton.y = Math.random()*stage.stageHeight;

// souscrire l'évènement MouseEvent.CLICK
myButton.addEventListener ( MouseEvent.CLICK, onClick);
addChild (myButton);
}

function onClick (pEvt: MouseEvent){
trace(pEvt.target);
this.removeChild ( pEvt.target);
trace (this.numChildren);
}
_______________________________________________________________________________________________________________

Bon bah là j'ai un message d'erreur : 1118: Contrainte implicite d'une valeur du type statique Object vers un type peut-être sans rapport flash.display:DisplayObject.
Putain mais c'est quoi ça ???????? Quand tu copies mot pour mot les exemples et que ça fonctionne pas ya de quoi devenir fou non ?

Commentaire de on_drag_on le 06/04/2009 17:13:47

Pour ce genre de questions c'est sur le forum que ça se passe, si j'ai le temps j'y répondrais très volontiers.
Merci.  
;=)

Commentaire de aumcreation le 07/04/2009 16:29:21

Autant pour moi.. Tu as bien raison ça n'a rien à foutre là ;) Désolé pour le pourrisage de topic :p

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales