Kommunauty
Connexion
Inscription
« Les Bases de Flash : Code : les propriétés _

Les Bases de Flash : Code : Les boucles

le 28 aout 2009 • Flash • par Dawlin

Salut !

Je vous l'avais dit ! il n'est que 10h34 et je commence mon deuxième tutoriel ! j'espère en faire 3 dans la matinée ! je suis au Taquet ! à fond qu'il est le Dawlin ! et même que j'écoute Abba et Helmut Fritz en même temps !

Maintenant : les boucles et conditions !

Une condition c'est tout simple : si la condition est respectée, on fait ça, sinon on fait ça...

//Si :
if(variableN1 = 25){
trace("Oui, bravo, ta variable = 25 !");
}
//Sinon si
else is(variableN1 = 32){
trace("elle n'est pas égale à 25 sinon ça se serait arrêté avant, mais égale à 32");
}
//Sinon
else{
trace("elle est égale à n'importe quoi sauf 25 ou 32");
}

Et maintenant les boucles ! Ouiiii !

Qu'est-ce qu'une boucle, pour commencer ?

Une boucle, c'est ça :

On rentre dedans, on fait quelques tours en répétant plusieurs fois les mêmes actions, puis on sort et on a fait notre tour de manège... en programmation c'est pareil !

1 - la boucle for

Une boucle for s'écrit comme ça :

for(condition){
actions
}

le truc, c'est que la boucle for a des conditions spéciales : elles sont numériques, en trois points :

  • On définit une variable d'utilisation pour cette boucle, en général i, j ou k
  • On pose la condition : on passera dans la boucle tant que i sera inférieur à 7 (par exemple)
  • On pose un élément de résolution : à chaque fois qu'on passe dans la boucle i augmente de 1

et ça s'écrit comme ça :


trace ("Je ne suis pas encore rentré dans la boucle");
for(i=0; i<7; i++){

trace("c'est la "+i+"ième fois que je passe dans la boucle !");

}
trace("Je suis sortit de la boucle !");

et ça donne :

Je ne suis pas encore rentré dans la boucle
c'est la 0ième fois que je passe dans la boucle !
c'est la 1ième fois que je passe dans la boucle !
c'est la 2ième fois que je passe dans la boucle !
c'est la 3ième fois que je passe dans la boucle !
c'est la 4ième fois que je passe dans la boucle !
c'est la 5ième fois que je passe dans la boucle !
c'est la 6ième fois que je passe dans la boucle !
Je suis sortit de la boucle !

C'est simple, nan ?

vous pouvez aussi faire :


for(i=24; i!=0; i-=2){
//actions à éxecuter
}

au début i = 24, et on répète la boucle tant que i est différent de 0, et à chaque fois on enlève 2 à i... pourquoi pas

Bon, on va dire que vous maîtrisez la boucle for(){}

Et maintenant :

2 - Boucle While(){}

Cette boucle a une condition comme un if, et elle se répète, jusqu'à ce que ça soit fini !


//J'initialise ma variable
a=0;
//Tant que la variable a est différente de 25...
while(a!=25){
//on ajoute 1 à a
a++;
}

Attention ! Flash essaie de terminer la boucle immédiatement, pas en plusieurs secondes ou autre, et il ne s'arrêtera pas avant que la condition soit respectée ! Attention donc à ne pas faire une boucle infinie sinon vous plantez !

et maintenant :

3 - La onEnterFrame : la seule boucle de temps

Eh oui, car vos boucles for et while, elles sont bien drôles, mais elles ne se font pas sur une longueur de temps...

la boucle onEnterFrame si, elle, se déclence à chaque fois qu'on entre dans une "frame", une image, soit 24 fois par secondes sur une animation normale. Cela dépend de la cadence.

vous pouvez modifier la cadence dans le panneau propriétés :

Donc moi en général je mets 24, et ma boucle est effectuée 24 fois par seconde...


this.onEnterFrame = function(){
trace ("yark yark je trace 24 fois par seconde !");
}

ça permet de faire un timer par exemple !


//on initialise la variable qui va compter
t=0;
//on définit à combien elle va s'arrêter
tmax = 24;
//on fait une boucle :
this.onEnterFrame = function(){
t++;
if(t>=tmax){
trace("C'est bon t est arrivé au maximum je fais mon action");
//action
//on réinitialise t :
t=0;
//et ça va recommencer !
}

}

Ici le "this." correspond à la scène. Vous avez le droit d'avoir une boucle onEnterFrame par symbole clip !

On peut s'en servir pour vérifier des trucs en permanence pour que ça s'actualise automatiquement (un tchat par exemple)

Mais attention à utiliser avec modération, trop de boucles onEnterFrame en même temps, et bien remplies, peuvent faire un peu ramer l'animation !

Dans ce cas, quand vous avez fini de vous en servir, créez une condition finale pour déterminer que vous avez envie de quitter la boucle, et utilisez

delete onEnterFrame;

n'oubliez pas de mettre le nom du clip auquel appartient la onEnterFrame !


smbl.onEnterFrame = function(){
//actions, c'est cool, nia nia nia

if(condition finale){
delete smbl.onEnterFrame;

}
}

et TADAAAAM c'est fini !

Voilà, merci d'avoir suivi ce tutoriel qui s'inscrit dans la suite de tutoriels flash,

Dawlin

Les Bases de Flash : Code : AttachMovie »


  
Aucun commentaire

Sois le premier à débuter une discussion à propos de cet article !



Ajoute un commentaire !

Ajouter une image... Trouvée sur internet » De mon PC »
Adresse URL :
Adresse de la page de la vidéo :
Taille du texte :
Couleur du texte :

Article lu 3150 fois.