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

Flash Discussion :

Problème de fonction dans une boucle qui ne prend pas la valeur de l'incrémentation


Sujet :

Flash

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut Problème de fonction dans une boucle qui ne prend pas la valeur de l'incrémentation
    Bonjour voilà,

    je n'arrive pas à récupérer la valeur de mon incrémentation (d), dans une fonction .onRollOver qui se trouve elle même dans ma boucle.

    d dans ma fonction prend la dernière valeur de l'incrémentation c'est à dire 5.

    Quelqu'un aurait il une idée.

    Merci beaucoup.

    Voici le code :

    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
      tabAlphNum = [[perso1,perso2,perso3,perso4,perso5],[0xFFCC00,0xCDFE00,0xF6E3BF,0xFFE607,0x04A9A7]];
      //boucle sur RollOver puis dans la fonction sur les glows
      for (d= 0; d<5; d++) 
      {
        tabAlphNum[0][d].onRollOver = function ()
        {
          trace (d);
          this.filters = [new flash.filters.GlowFilter(tabAlphNum[1][0], 1, 5, 5)];
        }//fin rollover
     
        tabAlphNum[0][d].onRollOut = function ()
        {
          this.filters = [new flash.filters.GlowFilter(tabAlphNum[1][d], 0, 0, 0)];
        }//fin rollover
      }// fin de la boucle

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    je pense qu'a la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     tabAlphNum[0][d].onRollOver = function ()
    il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this[tabAlphNum[0][d]].onRollOver = function ()

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par bibile
    je pense qu'a la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     tabAlphNum[0][d].onRollOver = function ()
    il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this[tabAlphNum[0][d]].onRollOver = function ()
    En fait mon soucie n'est pas dans le .onRollOver car là d s'incrémente bien mais dans ma function ()
    {
    ici d ne s'incrémente pas et prend la dernière valeur de la boucle c'est à dire 5
    }

  4. #4
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    normal -> d vaut bien 5 a la fin de la création de tes evenements ... a aucun moment tu demandes de garder la valeur ...

    --> stocke la valeur dans le clip et utilise la lors de l'evenement
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Lorenzo77
    normal -> d vaut bien 5 a la fin de la création de tes evenements ... a aucun moment tu demandes de garder la valeur ...

    --> stocke la valeur dans le clip et utilise la lors de l'evenement
    Bonjour,

    Merci Lorenzo, mais je ne voie pas comment faire, serait t'il possible de me montrer comment tu fais ?

    Merci beaucoup....

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    probablement comme ca, non ? (2ieme ligne)

    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
     for (d= 0; d<5; d++)  {
    tabAlphNum[0][d].maValeur = d;
     
    tabAlphNum[0][d].onRollOver = function ()
    {
    trace (d);
    this.filters = [new flash.filters.GlowFilter(tabAlphNum[1][0], 1, 5, 5)];
     
    }//fin rollover
     
    tabAlphNum[0][d].onRollOut = function ()
    {
    this.filters = [new flash.filters.GlowFilter(tabAlphNum[1][d], 0, 0, 0)];
     
    }//fin rollover
     
     
    }// fin de la boucle

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par bibile
    probablement comme ca, non ? (2ieme ligne)

    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
     for (d= 0; d<5; d++)  {
    tabAlphNum[0][d].maValeur = d;
     
    tabAlphNum[0][d].onRollOver = function ()
    {
    trace (d);
    this.filters = [new flash.filters.GlowFilter(tabAlphNum[1][0], 1, 5, 5)];
     
    }//fin rollover
     
    tabAlphNum[0][d].onRollOut = function ()
    {
    this.filters = [new flash.filters.GlowFilter(tabAlphNum[1][d], 0, 0, 0)];
     
    }//fin rollover
     
     
    }// fin de la boucle

    Je ne comprends pas trés bien Bibile, tu concaténes avec le tableau une nouvelle valeur auquelle tu donnes la valeur de d, mais comment réutilises tu cette valeur pour incrémenter d dans la fonction ?

    Merci.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    oups, je me suis peut -etre trompé.

    mais ce que je pensais c'etait que tabAlphNum[0][d] etait un clip.
    que tu peux donc lui associé une propriete tabAlphNum[0][d].maValeur = d;
    et ensuite, il fallait mettre trace(maValeur), j'avais oublié de le changer dans le code.

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par bibile
    oups, je me suis peut -etre trompé.

    mais ce que je pensais c'etait que tabAlphNum[0][d] etait un clip.
    que tu peux donc lui associé une propriete tabAlphNum[0][d].maValeur = d;
    et ensuite, il fallait mettre trace(maValeur), j'avais oublié de le changer dans le code.
    cela fonctionne, mais c'est pareil en dehors de la fonction, si tu fais un trace dans la fonction () { trace (maValeur)
    il affiche dans le panneau de sortie Undefined
    }

  10. #10
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    tabAlphNum[0][d].maValeur = d; etait bon puisque tabAlphNum[0][d] est bien un clip ou assimilé !
    faut juste que tu penses a utiliser cette valeur apres
    tabAlphNum[1][this.maValeur]
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Lorenzo77
    tabAlphNum[0][d].maValeur = d; etait bon puisque tabAlphNum[0][d] est bien un clip ou assimilé !
    faut juste que tu penses a utiliser cette valeur apres
    tabAlphNum[1][this.maValeur]
    Effectivement cela fonctionne merci beaucoup à vous deux pour votre aide précieuse et vive le fabuleux forum développez.com

    Désolé pour la réponse tardive, j'étais partie deux jours.

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

Discussions similaires

  1. Fonction dans une boucle qui ne renvoie rien
    Par blueice dans le forum Langage
    Réponses: 9
    Dernier message: 16/08/2008, 08h46
  2. Range.Offset(1) dans une boucle qui ne fonctionne pas
    Par Pierre.g dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/08/2008, 11h58
  3. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  4. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  5. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19

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