IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

[FLASH 8] Changer label bouton dynamiquement dans une boucle


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Points : 54
    Points
    54
    Par défaut [FLASH 8] Changer label bouton dynamiquement dans une boucle
    Version de Flash : Flash 8 Pro.
    Bonjour a tous,

    Voila je cherche à changer le nom inscrit sur les boutons de manière dynamique à travers une boucle for.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    //ici je change le label du bouton 2
    btn2.label = "Z";
    //declaration de i en nombre
    var i:Number = 1;
     
     
    for (i=1; i<10; i++) {
        trace("this is execution " add i);
        bouton = "btn" add i;
        bouton.label = "A";
    //le trace(bouton) m'affiche bien le numéro du bouton.
        trace(bouton);
    //les 2 traces suivant affichent undefined.  
        trace(btn1.label);
        trace(btn2.label);
     
        }
    le problème est que je pense que lorsque je fais bouton="btn" add i en fait il me le met en string et non en Button et du coup il ne reconnait pas le label qui lui est de type button.

    Donc si vous avez une idée de comment faire pour pouvoir changer les paramètres du bouton comme par exemple le label.

    Merci

  2. #2
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    voici une piste possible
    Tu places à partir de la bibliotheque de composant un bouton sur la scène (caché)
    tu écris ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(i=1;i<6;i++){
     this.createClassObject(mx.controls.Button, "my_button"+i, i, {label: "label"+i});
     eval("my_button"+i)._x = 50;
     eval("my_button"+i)._y = i*30;
    }
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  3. #3
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    Merci beaucoup de ta réponse dom_dev..

    A partir de ton bout de code j'essai en fait de me faire un tableau de boutons.
    Donc j'imbrique deux boucles ensembles pour faire mon tableau.

    Mais lors de l'execution je ne récupère que ma 2° colonne de boutons. Je ne vois pas la première.
    Pour moi je pense que le problème viens du parametre de profondeur mais je ne sais pas quoi mettre....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    var org:Number=1;
    var taille_plus:Number=100;
    for (j=1; j<3; j++) {
     
        for (i=0; i<25; i++) {
    trace ("boucle j:"+j+" et i :"+i );
            this.createClassObject(mx.controls.Button, "my_button"+i+j, i, {label:"btn"+i+j});
            eval("my_button"+i+j).scaleY = 130;
            eval("my_button"+i+j).scaleX = 100;
     
            eval("my_button"+i+j)._x = org+(j-1)*taille_plus;
            trace (eval("my_button"+i+j)._x);
            eval("my_button"+i+j)._y = i*30;
        }
    }
    Une petite photo pour illustrer mon problème...


  4. #4
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    En fait j'ai trouvé c'est bien au niveau de la profondeur que ca ce jouait...

    Il suffit juste de mettre un compteur qui calcul le nombre de passage total des boucles, et de mettre se compteur en paramètre de profondeur.

  5. #5
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    hi,
    en fait c'est ton indice "z" qui va pas dans createClassObject voici un exemple qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    var org:Number=1;
    var taille_plus:Number=100;
    indice_z = 1;
    for (j=1; j<3; j++) {
        for (i=0; i<5; i++) {
            this.createClassObject(mx.controls.Button, "my_button"+i+j, indice_z, {label:"btn"+i+j});
            eval("my_button"+i+j).scaleY = 130;
            eval("my_button"+i+j).scaleX = 100;
     
            eval("my_button"+i+j)._x = org+(j-1)*taille_plus;
            trace (eval("my_button"+i+j)._x);
            eval("my_button"+i+j)._y = i*30;
            indice_z ++;
        }
    }
    ce qui est important c'est la variable que j'ai appelé "indice_z" de façon à donner une valeur différente à chaque fois...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  6. #6
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    merci dom_dev j'ai trouvé en même temps que toi mais je te remercie de tes lumières... (désolé je débute... lol)..

    Merci encore...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bouton "annuler" dans une boucle
    Par buzza01 dans le forum Langage
    Réponses: 2
    Dernier message: 08/08/2011, 20h29
  2. Création objet dynamique dans une boucle. [Correction de code]
    Par Rifton007 dans le forum ActionScript 3
    Réponses: 6
    Dernier message: 04/04/2011, 23h48
  3. Déclaration dynamique dans une boucle
    Par Freeluvs dans le forum Langage
    Réponses: 11
    Dernier message: 08/02/2010, 15h04
  4. Récuperer la taille d'un clip généré dynamiquement dans une boucle
    Par finalfx dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 20/03/2008, 22h35
  5. Onrollover dynamique dans une boucle
    Par tet2brick dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/01/2008, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo