Créer un bouton dans un clip.

Gantilool Messages postés 3 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 25 janvier 2011 - 25 janv. 2011 à 15:19
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 25 janv. 2011 à 23:53
Salut,

J'aimerai créer dans un clip un bouton, mais un symbole bouton, juste une action qui me permettrai par exemple de "trace()".


Voici mon code entier :
import gs.TweenMax;

var centreX:int = stage.stageWidth /2;
var largeurGalerie:int = galerieInfini.width;
var vitesse:Number = 0;

this.addEventListener(Event.ENTER_FRAME, mouvementGalerie);
this.addEventListener(MouseEvent.MOUSE_OVER, overImg);
this.addEventListener(MouseEvent.MOUSE_OUT, outImg);
this.addEventListener(MouseEvent.MOUSE_UP, clic);

for (var i:int = 0; i < galerieInfini.numChildren; i++){
var imgs:Object = galerieInfini.getChildAt(i);
TweenMax.to(imgs, .4, {alpha:.4});
}
function mouvementGalerie ( e:Event ):void{
vitesse = - ( .01 * ( mouseX - centreX ) );
galerieInfini.x += vitesse;
if (galerieInfini.x > 0 )galerieInfini.x = ( - largeurGalerie /2 );
else if (galerieInfini.x < ( - largeurGalerie /2 ))galerieInfini.x = 0;
}
function overImg(e:MouseEvent):void{
var img = (MovieClip)(e.target);
TweenMax.to(img, .5, {alpha:1});
}
function outImg(e:MouseEvent):void{
var img = (MovieClip)(e.target);
TweenMax.to(img, .5, {alpha:.4});
}

function clic (e:MouseEvent):void{
         if (e.target.name == "img1")trace("1");
     	 if (e.target.name == "img2")trace("2");
 if (e.target.name == "img3")trace("3");
 if (e.target.name == "img4")trace("4");
 if (e.target.name == "img5")trace("5");
 if (e.target.name == "img6")trace("6");
 if (e.target.name == "img7")trace("7");
 if (e.target.name == "img8")trace("8");
 if (e.target.name == "img9")trace("9");
 if (e.target.name == "img10")trace("10");
}





Et ce que j'ai pour l'instant : http://uppix.net/1/0/f/b94d580b307f69646b217ac49e507.swf

Ce que je voudrais c'est cliquer sur une vignette et qu'une fonction (dans mon cas l'apparition d'une image en grand) s'exécute.

J'ai donc essayer avec :

this.addEventListener(MouseEvent.MOUSE_UP, clic);

function clic (e:MouseEvent):void{
         if (e.target.name == "img1")trace("1");
     	 if (e.target.name == "img2")trace("2");
 if (e.target.name == "img3")trace("3");
 if (e.target.name == "img4")trace("4");
 if (e.target.name == "img5")trace("5");
 if (e.target.name == "img6")trace("6");
 if (e.target.name == "img7")trace("7");
 if (e.target.name == "img8")trace("8");
 if (e.target.name == "img9")trace("9");
 if (e.target.name == "img10")trace("10");
}





Mais je n'obtient rien à la sortie. Même pas d'erreur...

Savez vous comment faire ?

4 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
25 janv. 2011 à 15:34
Bonjour,

Juste pour info : "name" n'est qu'une propriété d'un DisplayObject, il n'a aucun rapport avec le nom d'occurrence de ce dernier.

Et pourquoi n'essaie-tu pas directement "trace (e.currentTarget)" tout simplement ?

Peg'
0
Gantilool Messages postés 3 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 25 janvier 2011
25 janv. 2011 à 15:36
Alors je veins d'essayer autre chose,

Dans mon clip, j'ai défini une vignette comme un bouton, puis, toujours dans le clip j'inscrit :
function clic (event:MouseEvent):void
{
trace(çamarche)
}

btn1.addEventListener(MouseEvent.CLICK, clic);


Et au niveau de la scène, (je suis sorti du clip), j'inscrit :
galerieInfini.btn1.addEventListener(MouseEvent.CLICK, clic);


Seulement je me prends dans la figure un :
Accès à la propriété non définie clic.


Et point positif, la main apparait au dessin de la vignette mais mon diaporama ne tourne plus, et son alpha=1.

:/
0
Gantilool Messages postés 3 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 25 janvier 2011
25 janv. 2011 à 15:39
Oui mais si j'utilise ce que tu me dis, étant donné qu'il y à pas mal d'image il ne va pas savoir laquelle je pointe... et donc sur laquelle activer mon bouton.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
25 janv. 2011 à 23:53
"currentTarget" indique justement le déclencheur de l'évènement ...

Peg'
0
Rejoignez-nous