function collision(){ // en cas de collision avec un loup on supprime le loup : for(i=1;i<nbEnnemis+1; i++) { var loup =_root["loup"+i]; if(mouton.hitTest(loup)) { trace("suppression du loup "+loup); removeMovieClip("loup"+i);//ou peut-être aussi "removeMovieClip(loup); nbEnnemis --; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionvar i;, mais tu ne définis pas "i" réellement, tes clips sont créés dynamiquement et dans ta boucle cela incrémente les valeurs de "i", par conséquent j'imagine qu'au fur et à mesure des clips supprimés ou ajoutés, on se retrouve avec des valeurs "i" présentes sur la scène sans ordre logique, j'entends par là que tu pourras te retrouver à un moment avec ces valeurs là pour "i" : 1,3,4,7,11... je ne sais pas si mon explication est très claire , ce que je veux dire c'est que si tu stockes tes clips dans un array() lorsqu'ils sont attachés ou supprimés, tu auras peut-être plus de facilité à gérer ces clips, du fait qu'avec le code adéquat tu auras une suite croissante et ordonnée au niveau des valeurs de "i".
function creaEnnemis(){ var i:Number = 0; var TableauEnnemis:Array = new Array(); //on crée le nombre d'ennemis voulu : for(i=0;i<=TableauEnnemis;i++) { this._root.attachMovie("ennemis","loup"+i,_root.getNextHighestDepth()); TableauEnnemis.push(i); //on l'affiche aux coordonnées suivantes : _root["loup"+i]._x=Math.round(Math.random()*((xmax-30)-(xmin+30))+(xmin+30)); _root["loup"+i]._y=0; } } function collision(){ // en cas de collision avec un loup on supprime le loup : if(mouton.hitTest("loup"+i)) { trace("suppression du loup "+("loup"+i)); removeMovieClip("loup"+i); TableauEnnemis.splice(i, 1); } }