Les Bases de Flash : Code : Les array 2 et 3
Salut, toujours dans le prolongement des array, on va voir maintenant comment les grouper avec des boucles. Vous vous souvenez du club des machos ? Et ben on est repartis avec ça comme exemple !
Bon, on sait ce que c'est, ça :
var ma_string:String = "Quentin,Lou,Léonard,Eric,Maxime";
var mon_array:Array = ma_string.split(",");
Maintenant, on va apprendre vite fait à se servir d'une boucle for(){} :
ça marche comme ça :
for(on se crée une variable i=0; tant que i<3; on incrémente i++){
les choses entre accolades sont faites autant de fois que la boucle est valable, donc tant que i<3
}
Je reviendrais dessus plus en détail dans un autre tutoriel...
Donc, là on se fait juste comme ça, une boucle for, tant que i<5, on dit (on trace) que c'est la xieme fois qu'on passe dans cette boucle
for(i=0 ;i<5 ;i++){
trace("C'est la "+i+"ieme fois qu'on passe dans cette boucle");
//je reviens au début si i<5
}
bon, maintenant, on va afficher le contenu des arrays, en fonction de i.
par exemple, on va passer pour la 0ieme fois dans la boucle, on va afficher mon_array[i ]
c'est comme trace(i) sauf que là on trace une valeur de texte, c'est l'enregistrement numéro i de mon array... ça va ?
Pour que j'ai pas à changer i<4 quand ya un nouveau membre, je vais utiliser(encore) la propriété mon_array.length (qui détermine le nombre enregistrements dans l'array)
for(j=0; j<mon_array.length; j++){
trace("Nous avons un membre appelé "+mon_array[j]);
}
Donc tant que j est inférieur au nombre total d'enregistrements, on affiche la valeur de l'enregistrement numéro i, avec une petite phrase d'accompagnement.
On obtient ça :
Nous avons un membre appelé Quentin
Nous avons un membre appelé Lou
Nous avons un membre appelé Léonard
Nous avons un membre appelé Eric
Nous avons un membre appelé Maxime
Maintenant, on a vu que n°0 est directeur et n°1 est sous-directeur (cf le précédent tuto)
On va le faire dire, au lieu de tout faire à la main, donc à chaque fois que ya un n°
spécial, comme 0 ou 1, c'est à dire les numéros des directeurs, on dit un truc sinon on dit une autre phrase de base :
trace("Hiérarchie de notre club :");
for(j=0; j<mon_array.length; j++){
//SI j = 0
if(j==0){
trace("Mr."+mon_array[j]+" le directeur");
}
//SINON SI j = 1
else if(j==1){
trace("Mr."+mon_array[j]+" le sous-directeur");
}
//Sinon
else{
trace("Mr."+mon_array[j]+", macho de base");
}
}
Et voilà ! C'est tout ! Mais je me rends compte que ce tutoriel n'est pas assez long...
Donc je vais vous en remettre une tartine avec mon tutoriel 3 déjà préparé.
Dans ce nouveau tuto nous allons avoir besoin d'une fonction aléatoire,
// Déclaration de la fonction aléatoire
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
Qui m'est extrêmement précieuse car extrêmement et tout le temps utile.
Elle fonctionne comme ça :
nombre = randRange(min,max);
Et flash vous donnera tout seul un nombre compris entre min et max ! Exellent !
Donc, vous insérez cette fonction en haut de votre animation, et vous pourrez ensuite vous en servir comme bon vous semble !
donc si vous rajoutez en dessous ce code :
//création d'une variable ayant une valeur aléatoire entre 0 et 10
var rand = randRange(0,10);
//affichage de cette variable dans le panneau de sortie avec la fonction trace (au cas où)
trace("La variable aléatoire appelée rand est égale à "+rand);
Vous obtiendrez ceci :
La variable aléatoire appelée rand est égale à 5
Passons à la pratique
Création d'un string appellée garcon pour servir dans une array garcona (de "garçon" + a)
var garcon:String = "Quentin|Léonard|Maxime|Lou";
var garcona:Array = garcon.split("|");
Création d'un string appellée garcons pour servir dans une array
var fille:String = "Emmanuelle|Cecile|Lucyle|Camille";
var fillea:Array = fille.split("|");
Note : vous vous souvenez que avant .split(","); séparait la string toutes les virgules ? et bien maintenant c'est .split("|"); alors ça sépare à chaque | !! C'est génial !!
Et maintenant, niak niak !!
Tirage au hasard d'une variable qui servira à trouver un nom de garçon, comprise entre 0 et le nombre de champ dans l'array, variable appelée g comme garçon et rand comme random,
c'est plus facile à s'en souvenir pour après
var grand = randRange(0,garcona.length-1);
trace(grand);
Donc c'est un nombre tiré entre 0 et le nombre d'enegistrement, -1 parce que vu qu'on commence de 0, c'est décalé. Puisqu'on utilise garcona.length et non pas "5" comme maximum, ça nous permet de modifier la liste sans pour autant avoir à changer le code.
Pareil avec les filles :
var frand = randRange(0,fillea.length-1);
trace(frand);
Nous avons maintenant un n° de garçon, un n° de fille, reste à les transformer en prénoms grâce à l'affichage des array :
trace(fillea[frand]);
Ici on trace l'enregistrement numéro frand (qui est tiré au hasard) de la liste (array) de noms de filles.
stockage dans une variable fnom, comme fille nom
fnom = fillea[frand];
Pareil avec les garçons
gnom = garcona[grand];
trace(garcona[grand]);
On affiche, avec une belle phrase, que l'on stock dansune variable :
(n veut dire "retourne moi à la ligne espèce de champ de texte !")
var full = gnom+" veut sortir avec "+fnom+"n hou les amoureux !!";
Et alors, maintenant, je vous laisse, parce que je n'ai rien de plus intéressant à dire, mais vous trouverez dans la source flash des exemples de trucs sympas à rajouter !
Voilà, merci d'avoir suivi ce ces tutorielS,
Dawlin
Les Bases de Flash : Code : les propriétés _ »
Sois le premier à débuter une discussion à propos de cet article !
Ajoute un commentaire !