Bonjour à tous,
Je suis nouveau dans le monde de l'AS3 (3j...), et je me casse bien les dents dessus.
Je souhaite réaliser une galerie tout ce qu'il y a de plus simple.
Pas d'xml, juste une boucle for() pour appeler mes vignettes et les placer, puis un écouteur par vignette pour charger la photo dans son conteneur.
Mon problème est le suivant:
Toute mes instances de vignettes porte le même name, je n'arrive pas à profiter de la boucle for pour leur attribuer une identité différente.
Je ne vois donc pas comment je vais pouvoir faire pour leur attribuer un écouteur différent, et donc comment elle vont pouvoir appeler l'image correspondante.
Voici mon code :
//////////////////////////////////////////
//1-On définie le point d'accroche de la première image d'en haut a gauche
var accrocheX:Number=4;
var accrocheY:Number=35;
//2-On créer notre variable chargeur, instance de la classe Loader(), ainsi que l'instance de la classe URLRequest()
var chargeur:Loader;
var cadreChargeur:Sprite;
var adresseImage:URLRequest = new URLRequest();
//3-On itère neuf fois le chargement
for (var i:int=1; i<=9; i++) {
chargeur = new Loader();
adresseImage.url="../images/galerie/m-image-"+i+".jpg";
chargeur.load(adresseImage);
cadreChargeur = new Sprite();
cadreChargeur.name="vignette"+i;
cadreChargeur.buttonMode = true;
addChild(cadreChargeur);
cadreChargeur.addChild(chargeur);
cadreChargeur.x=accrocheX;//On place le chargeur d'après le premier point d'encrage accrocheX
cadreChargeur.y=accrocheY;//On place le chargeur d'après le premier point d'encrage accrocheY
accrocheX+=105;//On défini le déplacement sur l'axe des abscises (largeur de l'image(ici 95) + l'espace entre chaque image (ici 10 donc 10+95=105)
if (accrocheX>=315) {// quand le point d'encrage de la 3eme image est obtenu (ici 3*105=315)
accrocheX=4; //On maintient la marge de gauche 4
accrocheY+=80; // Et la hauteur de saut (70 taille de l'image + 10 de marge = 80 )
}
cadreChargeur.addEventListener(MouseEvent.CLICK,clicImage);
function clicImage(evt:MouseEvent) {
trace(cadreChargeur.name);
}
}
/////////////////////////////////////////////////////////////////////////
A la fin de celui-ci j'obtiens donc systématiquement : "vignette9" dans la boite de dialogue du débugger.
Merci d'avance pour vos pistes.
Bien cordialement
Geoffroy
Ps: Je tiens à préciser que le script doit fonctionner avec une version vignette de l'image et une version taille réelle.