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
Rejoignez-nous