Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TUTORIEL AS3 (Les notions "de base" :)


Information sur le tutorial

Catégorie :ActionScripts Date de création : 28/10/2008 03:25:33 Vu : 12 689 fois

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une 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 ;

}




signaler à un administrateur
Commentaire de didiledoux le 29/10/2008 10:59:40

c'est impecable

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
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 ...

signaler à un administrateur
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) ;)

signaler à un administrateur
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

;=)

signaler à un administrateur
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 ?

signaler à un administrateur
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.  
;=)

signaler à un administrateur
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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.