sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010
-
15 oct. 2009 à 10:13
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010
-
2 févr. 2010 à 11:11
Bonjour à tous,
Bon, sur ma scène, j'ai 5 boutons (clips) dans un conteneur monMenu et 5 clips dans la bibliothèque. Chaque bouton doit charger un clip dans un conteneurClip.
Déjà, j'avoue que ma méthode pour y arriver est absolument fumeuse !!!!
j'ai été obligé de créer un clip bidon(vide) pour le tab[0] = clip1 pour la correspondance entre mon tableau de clips et ma boucle for de boutons (qui veut pas de zéro). J'ai pioché des bouts de code ici et là, en essayant de comprendre puis en inventant carrément cette chose étrange... qui marche pour l'instant.
Mon souci est que j'aimerais que les clips appelés se remplacent les uns les autres au lieu de se superposer, mais comment faire un removeChild
quand on ne sait pas d'avance quel clip a été chargé ? et peut-on faire un removeChild et addChild d'un conteneur dans la même fonction ?
Voilà, n'hésitez pas à rigoler en voyant cette tentative d'une graphiste passant de l'AS2 à l'AS3, c'est pas grave car moi-même je m'amuse pas beaucoup (pour l'instant).
// les clips
var conteneurClip : MovieClip = new MovieClip;
conteneurClip.x = 110;
conteneurClip.y = 80;
addChild(conteneurClip);
var clip1 : MovieClip = new Clip1;
var clip2 : MovieClip = new Clip2;
conteneurClip.addChild(clip2); // ça c'est pour qu'il y en ai 1 clip en place tout de suite
var clip3 : MovieClip = new Clip3;
var clip4 : MovieClip = new Clip4;
var clip5 : MovieClip = new Clip5;
var clip6 : MovieClip = new Clip6;
//les boutons qui sont déjà sur la scène
for (var i:uint = 1; i <= 5; i++)
{
var monBouton:MovieClip = monMenu["bouton_"+i];
monBouton.buttonMode = true;
monBouton.id=i;
monBouton.addEventListener(MouseEvent.MOUSE_OVER, boutonOver);
monBouton.addEventListener(MouseEvent.MOUSE_OUT, boutonOut);
monBouton.addEventListener(MouseEvent.MOUSE_UP, boutonRelache); // la fonction importante !
}
function boutonOver(event:MouseEvent):void
{
(event.currentTarget as MovieClip).gotoAndStop("s1");
}
function boutonOut(event:MouseEvent):void
{
(event.currentTarget as MovieClip).gotoAndStop("s2");
}
function boutonRelache(event:MouseEvent):void
{
var clipNum:MovieClip = event.currentTarget as MovieClip;
conteneurClip.addChild(tab[clipNum.id]);
trace (conteneurClip.numChildren);
}
Voilà ou j'en suis, à vos reflexions...
Amicalement
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 16 oct. 2009 à 10:47
Bon, je comprend que cela n'intéresse personne, d'ailleurs j'ai changé de méthode, plus simple, mais que je ne posterais pas car elle ne sera pas assez "classe" pour ce forum.
Amitiés à tous
kiyomizu
Messages postés3Date d'inscriptionmercredi 27 janvier 2010StatutMembreDernière intervention31 janvier 2011 2 févr. 2010 à 10:55
Bonjour voilà, un sacré moment que tu as posté ce message et peut être est ce un peu tard mais j'ai ta réponse :
for (var i:uint = 1; i <= 10; i++)
{
var monBouton:MovieClip = monMenu["bouton"+i];//monMenu est le conteneur
monBouton.buttonMode = true;
monBouton.id=i;
}
function boutonOver(event:MouseEvent):void
{
(event.currentTarget as MovieClip).gotoAndStop("S1");
}
function boutonOut(event:MouseEvent):void
{
(event.currentTarget as MovieClip).gotoAndStop("S2");
}
function boutonEnfonce(event:MouseEvent):void
{
conteneurClip.removeChildAt(0);
}
function boutonRelache(event:MouseEvent):void
{
var clipNum: MovieClip = event.currentTarget as MovieClip;
conteneurClip.addChildAt(tab[clipNum.id],0);
}
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 2 févr. 2010 à 11:11
Bonjour,
Merci de ta réponse, c'est exactement ce que j'ai fait ça marche très bien. J'aurais du mettre la réponse à l'époque mais comme personne n'avait l'air de suivre j'ai laisser tomber, c'est un peu nul je le reconnais.
Ne le ferais plus
SV