Manipulation d'occurences dynamiques...

ghendar1
Messages postés
3
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
26 octobre 2006
- 26 oct. 2006 à 09:13
titi035
Messages postés
173
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
10 mai 2010
- 26 oct. 2006 à 16:25
Bonjour,

Voila... je cherche à trouver le moyen de contrôler facilement les propriétés/méthodes/événements des occurences que j'ai créées dynamiquement à partir de ma bibliothèque de symbole. J'utilise la méthode attachMovieClip pour créer une occurence...

Evidement, la solution simple consiste à traiter chaque occurence créée... mais si j'en ai des dizaines ?

Grosso modo, j'ai par exemple créé un symbol Clip "pion" dans ma bibliothèque... ensuite dans du code action-image je créé une occurence placée au hasard sur l'image à chaque fois que j'appuie sur un touche du clavier... mon problème consiste alors a savoir comment faire pour traiter l'événement on(press) de toute les occurences.... sans devoir écrire autant d'on(press) que d'occurence...

Merci

4 réponses

titi035
Messages postés
173
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
10 mai 2010

26 oct. 2006 à 09:27
Salut,

J'imagine que tu crées tes pions avec attachMovieClip dans une boucle. Il faut que tu es une règle de nommage. Par exemple tu nomme tes pions "mp_pion"+i.
Ensuite, tu créés une boucle pour déclarer toutes les onRelease de ces pions.
for(i= 0;i<nbPions;i++){
        this["mp_pion"+i].n = i;      
        this["mp_pion"+i].n = i;
        this["mp_pion"+i].onRelease = function (ok) {
            /*
             ici ta fonction onRelease  */
            };
    }

bye
-----------------------------------------------------
http://titi0035.free.fr              
0
ghendar1
Messages postés
3
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
26 octobre 2006

26 oct. 2006 à 14:38
Re :) et merci de ta réponse Titi ;)

... mais malheureusement ca ne marche pas... en fait lorsque je clique sur l'occurence je récupère la dernière valeur de i.. pas celle de l'occurence...

Pour info voici le prog que j'ai tapper en 1 min (pion est un clip dans ma bibliothèque) et le code se trouve dans une action-image.
> résultat : trace(i) me renvoi toujours 3...
-----------------------------
var i:Number;


attachMovie("pion","pion1",this.getNextHighestDepth());      // création brutale à la main pour test
attachMovie("pion","pion2",this.getNextHighestDepth());


this.pion1._x = 100;      // histoire qu'ils ne se chevauchent pas
this.pion2._x = 200;


for (i=1;i<3;i++)
 {
 this["pion"+i].onRelease = function ()
  {
  trace(i);
  }
 }
-----------------------------------
0
ghendar1
Messages postés
3
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
26 octobre 2006

26 oct. 2006 à 15:06
re :)

J'ai dit une bêtise lol.. tout fonctionne... c'est normal que trace(i) renvoi 3 puisque qu'à la fin de la lecture du script elle a cette valeure...


merci :D
0
titi035
Messages postés
173
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
10 mai 2010

26 oct. 2006 à 16:25
ouaip! ça affiche et c'est normal/ avec ce code, ça doit afficher 1 ou 2

for (i=1;i<3;i++)
 {
        this["mp_pion"+i].n = i;
 this["pion"+i].onRelease = function ()
  {
  trace(this.n);
  }
 }

---------------------
http://titi0035.free.fr
0