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 :

AS : boucle et perte de la valeur "i"


Sujet :

Flash

  1. #1
    Membre habitué
    Homme Profil pro
    Designer API
    Inscrit en
    Octobre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Designer API

    Informations forums :
    Inscription : Octobre 2003
    Messages : 280
    Points : 166
    Points
    166
    Par défaut AS : boucle et perte de la valeur "i"
    Bonjour,

    Je veux creer des MovieClip contenant une clip de ma bibliotheque,
    et une fonction sur le click du MovieClip. Seulement je perd la valeur du "i" dans la fonction onPress, il me retourne i Max comme si j'etais sortie de la boucle.

    mon 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    var monY:Number = 0;
    var profondeur:Number = 50;
    for (var i = 0; i < TmonAuteur.length; i++) 
    {		  
     
       // Créer les movie-clip vides	  
       profondeur += 1;
       var thisMC:MovieClip = this.createEmptyMovieClip("my_txtRollOn"+i+"_mc", profondeur);
     
       thisMC.attachMovie("bouton_id", "bouton"+i+"_mc", 60 );
     
       // Placement
      thisMC._x = 20;
      monY += 20;
      thisMC._y = monY;
     
      var indice:Number = i;	  
      if( indice == 0 )
      {
          thisMC.onPress = function() {	
           trace(i);//Renvoi la derniere valeur de i comme si j'etais dehors de la boucle et pas la valeur à l'instant T
    init(TmonAuteur[0], TmonImage[0], TmonMp3[0], TmaVideo[0], TmonPdf[0]);			 
          }
      }
     
      if( indice == 1 )
      {
          thisMC.onPress = function() {		 
    init(TmonAuteur[1], TmonImage[1], TmonMp3[1], TmaVideo[1], TmonPdf[1]);
     
          }
      }
     
     
    	}//fin du for
    };
    J'aurais une autre question : comment créer une bouton en actionscript pour ??? comme pour le createTextField

  2. #2
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     trace(i);//Renvoi la derniere valeur de i comme si j'etais dehors de la 
    var nCpt:Number = i;
    Dans cette zone, tu réaffectes la valeur de i à une variable locale.
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  3. #3
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Voilà une astuce qui te permettra de garder la valeur i à l'instant T et non la dernière valeure de ta boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if( indice == 0 ){
      thisMC.Indice = i;
      thisMC.onPress = function() {	
        trace(this.Indice);
        init(TmonAuteur[0], TmonImage[0], TmonMp3[0], TmaVideo[0], TmonPdf[0]);	
      }
    }

    Concernant la création d'un bouton, je te conseille de taper le mot clé button dans ta fenêtre de code et d'appuyer sur la touche F1 (aide)... L'aide de Flash t'expliquera comment utiliser ce composant !
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  4. #4
    Membre habitué
    Homme Profil pro
    Designer API
    Inscrit en
    Octobre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Designer API

    Informations forums :
    Inscription : Octobre 2003
    Messages : 280
    Points : 166
    Points
    166
    Par défaut
    Merci pour vos réponses ca marche nickel j'ai aussi trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    curBouton = this["my_txtRollOn"+i+"_mc"];
    curBouton.num = i; 
     
    //trace("num: "+this.num);

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

Discussions similaires

  1. Perte de la valeur du champ qd on tabule dessus
    Par pekka77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/09/2006, 08h30
  2. [VB6] boucle for avec liste de valeur defini
    Par Morpheus2144 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/04/2006, 18h12
  3. Jointure, perte systèmatique 1ere valeur...
    Par Pierrinot dans le forum Langage SQL
    Réponses: 6
    Dernier message: 04/08/2004, 16h21

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