begin process at 2012 05 26 19:35:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

boucle for each


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

boucle for each

lundi 20 avril 2009 à 10:56:13 | boucle for each

inaden

Bonjour,
voilà, je reprends les bases de l'as3... ou plutôt je les prends... apprends. Bref, je suis sur les boucles.
Exercices simples :
var personnage:Object={prenom:"Bobby",age:50};

//boucle donnant les propriétés de l'objet
for(var p:String in personnage){
    trace("les propriétés du personnage sont : "+p);
}
//boucle for each accédant aux valeurs d'un objet
for each ( var valeur:* in personnage){
    trace("les valeur du personnage sont : "+valeur);
}


J'ai voulu afficher les deux en même temps pour avoir un trace qui me donnerait :
la propriété prenom du personnage a pour valeur Bobby

J'ai essayé de croiser les boucle mais ce n'est pas satisfaisant... deux fois le résultat, une bonne attribution, et une mauvaise. J'ai essayé de créer un tableau pour récupérer les valeurs de chaque boucle, mais je ne récupère, au mieux que la première valeur, en plus ma méthode pour récupérer les valeurs étaient très artificelle... bref ça marche pas.
Quelqu'un a-t-il une piste pour arriver au résultat escompté.
Merci d'avance.


Tout vient à qui sait attendre
lundi 20 avril 2009 à 10:58:01 | Re : boucle for each

inaden

Ah oui, pardon, le but est même d'afficher :
la propriété prenom du personnage a pour valeur Bobby
la propriété age du personnage a pour valeur 50

Ou bien
la propriété prenom du personnage a pour valeur Bobby et son age est de 50

Tout vient à qui sait attendre
lundi 20 avril 2009 à 11:53:15 | Re : boucle for each

bali_balo

Salut,
essaye ceci :

//boucle for each accédant aux valeurs d'un objet
for(var valeur:String in personnage){
    trace("les valeur du personnage sont : "+personnage[valeur]);
}


bali_balo....=]

lundi 20 avril 2009 à 11:55:09 | Re : boucle for each

pegase31

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

le soucis c'est que dans "for each", la valeur de la variable donnée sera fonction de son type et du nombre de données contenues dans l'objet ciblé.

prenons un exemple :

var toto:Object = {var1:"oui", var2:128, var3:new Point(128,164), var4:["abs", Math.sqrt(128), 12]}
for each(var tata:* in toto) {
    trace (tata);
}


nous ressort :

abs,11.313708498984761,12
oui
128
(x=128, y=164)


Ce qui prouve bien qu'il n'y a pas d'ordres dans un object ... et donc que tu ne peux pas savoir par cette méthode quelle variable est ciblée.

Ce que tu cherches à faire est plutôt axé XML et tu dois, pour ça, avoir les noms des champs à cibler.
Le for-each servirait plutôt à parcourir nue liste de noeuds dans les quels tu piocherais les infos pour les formater à ta guise, tels que :

var xml:XML =
<main>
    <member nom="jean" age="12" />
    <member nom="pierre" age="18" />
    <member nom="alain" age="16" />
</main>
var list:XMLList = xml.member;
for each(var tata:XML in list) {
    trace ("les valeur du personnage sont : age="+tata.@age, "nom="+tata.@nom);
}


Nous ressort bien :

les valeur du personnage sont : age=12 nom=jean
les valeur du personnage sont : age=18 nom=pierre
les valeur du personnage sont : age=16 nom=alain


Peg'

lundi 20 avril 2009 à 11:55:36 | Re : boucle for each

bali_balo

PARDON,
CECI FONCTIONNE (j'ai testé !)

var personnage:Object={prenom:"Bobby",age:50};

//boucle donnant les propriétés de l'objet
for(var p:String in personnage){
    trace("les propriétés du personnage sont : "+p);
}
//boucle for each accédant aux valeurs d'un objet
for( var valeur:String in personnage){
    trace("les valeur du personnage sont : "+personnage[valeur]);
}



bali_balo....=]

lundi 20 avril 2009 à 11:58:08 | Re : boucle for each

bali_balo

Oui, effectivement comme le dit Peg', il n'y a pas d'ordre dans l'utilisation for - in et dans un for - each

bali_balo....=]

lundi 20 avril 2009 à 12:05:07 | Re : boucle for each

Orange73

Membre Club
Réponse acceptée !
Hello,

for ( var valeur:* in personnage){
    trace("la propriété "+ valeur +" du personnage a pour valeur "+ personnage[valeur]);
}


-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
lundi 20 avril 2009 à 12:26:41 | Re : boucle for each

inaden

Bonjour et merci à tous pour vos réponses , leur justesse et leur rapidité.
Le script d'Orange73 fonctionne, mais je comprends qu'il doit être plus judicieux d'utiliser la méthode de Pégase31 dans une réelle construction d'utilisation d'objet.
Merci à tous, et je vais continuer ma lecture de Pratique d'action script 3 de Thibault Imbert qui m'a l'air d'être une bonne base à l'apprentissage d'AS3.
Encore merci et vive Flashkod et ses merveilleux participant !!!!



Tout vient à qui sait attendre


Cette discussion est classée dans : boucle, valeur, for, each, personnage


Répondre à ce message

Sujets en rapport avec ce message

boucle for [ par upyboobs ] salut.J'aimerai savoir s'il est possible de faire varier la variable utilisé dans la boucle for de 0,1 en 0,1 et encore mieux : du pas que l'on veut.m problème de concaténation.. [ par albeuz ] Bonjour à tous! C'est mon premier message sur ce forum..d'habitude je trouvais des réponses sans avoir à poser de questions mais là je bloque ... C'es est-il possibe de tracer des var numérotée via une boucle for [ par anartiste ] anartistebonjour à tous j'ai un problème tout bête, en fait je crée des variables par une boucle for du genre          &nbs pb de boucle for [ par athenavenus ] Bonjour, j'essaie de télécharger du texte quand on clic sur trois lien cependant j'essaie de le faire avec une boucle for mais ça ne marche pas... si incrémentation de sec avec une boucle for [ par athenavenus ] gilou[orange][font=Verdana]Votre texte ICI[/font=Verdana] Bonjour, Je voudrais que toutes les 10 secondes une image différente s'affiche, donc j'ai f incrémentation de sec avec une boucle for [ par athenavenus ] gilou[orange][font=Verdana]Votre texte ICI[/font=Verdana] Bonjour, Je voudrais que toutes les 10 secondes une image différente s'affiche, donc j'ai f Je sais pas comment ecrire ma boucle for... [ par Effixe2002 ] comme dit ci dessus, je ne sai pas comment rediger ma boucle for pour realiser ça :   _parent.Tag1 = sampleArray_ar[0]   _parent.Tag2 = sampleArray_a boucle for et fonction bouton. [ par jacknikolson ] Bonjour.J'ai des clips sur ma scène qui doivent servir de boutons avec une fonctionbouton.onRollOver = function()Pour éviter de devoir faire autant de création array dans boucle for [ par jacknikolson ] Salut,Je voudrais, dans une boucle for, créer des tableaux.Chaque tableau devrait avoir le même préfixe et comprter le N de la boucle en cours.my_arra definir une valeur fixe de variable [ par kel solaar ] bonjour je bute sur un petit problème en actionscript je déclare plusieurs boutons par une boucle en for et j'essaye dans cette boucle d'assigner la


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 (4)

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