Pb as3 duplication de clip

Résolu
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 21 nov. 2008 à 15:31
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 14 janv. 2010 à 10:53
Bonjour,
voilà, j'essaie de passer à l'as3 mais... bref.
Voici le problème : je duplique une instance de clip de la bibliothèque à l'aide du code suivant :
var maBalle:Balle;
 
for ( var i:int = 0; i< 10; i++ ) {
    maBalle = new Balle();
    addChild( maBalle );
    maBalle.x = Math.random()*(stage.stageWidth - maBalle.width);
    maBalle.y = Math.random()*(stage.stageHeight - maBalle.height);
}
Et je voudrais créer un bouton qui puisse agir sur les occurence de mes clip :
monBouton.addEventListener ( MouseEvent.CLICK, clicBouton );

function clicBouton ( alfred:MouseEvent ):void {
    trace("hop");
}
Le problème c'est que je n'arrive pas à cibler mes clips, ni à leur donner un nom ni rien du tout. Donc comment faire pour nommer les clips dupliquer et pouvoir agir dessus.
J'ai essayer avec des trucs genre maBalle.name="balle"+i dans ma boucle, mais il m'envoie bouler quand j'essaie d'agir dessus, pourtant, si je trace maBalle.name j'obtiens bien balle0, balle1...
Quelqu'un peut-il m'aider.
Merci d'avance

Tout vient à qui sait attendre

5 réponses

cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
21 nov. 2008 à 15:37
J'AI TROUVÉ !!!! C'EST UNE GRANDE VICTOIRE POUR LES TRAVAILLEURS (qui soit dit en passant en ont bien besoin par les temps qui cours)

monBouton.addEventListener ( MouseEvent.CLICK, clicBouton );
var num:int;

function clicBouton ( alfred:MouseEvent ):void {
    removeChild(getChildByName("balle"+num));
    trace("hop");
    num++;
}
//var maBalle:MovieClip = new Balle();
var maBalle:Balle;
 
for ( var i:int = 0; i< 10; i++ ) {
    maBalle = new Balle();
    addChild( maBalle );
    maBalle.name="balle"+i;
    trace(maBalle.name);
    /*maBalle.x = Math.random()*stage.stageWidth; //peuvent sortir de la scène
    maBalle.y = Math.random()*stage.stageHeight; */
    maBalle.x = Math.random()*(stage.stageWidth - maBalle.width);
    maBalle.y = Math.random()*(stage.stageHeight - maBalle.height);
}

Puisse cela servir à certains d'entre vous.  
Tout vient à qui sait attendre
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
21 nov. 2008 à 15:46
6 min entre la question et la solution ... pas mal ...

Peg'
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
21 nov. 2008 à 16:35
Une illumination, mais je galère grave, j'ai l'impression d'être revenu 3 4 ans en arrière.
Je me sens vraiment paumé... y'a quelqu'un qui file des cours sur Paris ???

Tout vient à qui sait attendre
0
ozsbeu Messages postés 1 Date d'inscription lundi 13 novembre 2006 Statut Membre Dernière intervention 13 janvier 2010
13 janv. 2010 à 22:27
Salut, j'ai eu EXACTEMENT le même problème que toi et j'aurais aimé lire ton message avant de parcourir 12000 forums pour trouver la réponse...

Seulement je trouve que cette syntaxe est peu pratique, ce serait tellement plus simple de pouvoir avoir recours au bon vieux this["nomMC"+i]!! Donc si jamais t'as trouvé mieux que getChildbyName, fais moi signe :)

Sinon j'imagine que tu fais un casse-briques, non?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
14 janv. 2010 à 10:53
C'est sur, mais autre temps, autres moeurs !
Sinon, pas de casse brique, juste essayer de comprendre comment ça marche !


Tout vient à qui sait attendre
0
Rejoignez-nous