Movieclip dans boucle for

Résolu
00sebounet00 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
00sebounet00 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je créé des movieclip dans une boucler for
et j'essais de recuperer la valeur de i pour chaque movieclip sans succes
qqun peut il m'aider
je suis debutant en flash as3

var largeur=135;
var hauteur=170;
var espace=25;
var nbr=23;

var infos:Array = new Array();
infos[0]="Paul très concentré !";
infos[1]="Frank dans son petit seau jaune";
infos[2]="Claude en marcel jaune";
infos[3]="Paco le charmeur !";
infos[4]="Grégory en admiration devant ses parents";
infos[5]="Muriel et son petit ourson";
infos[6]="Serge dans les îles";
infos[7]="Thomas-les-binocles";
infos[8]="Huguette sort du trou";
infos[9]="Vincent le joufflu";
infos[10]="Pascal en couche culotte";
infos[11]="Hélène-la-joie-de-vivre";
infos[12]="Léon... quelles joues !";
infos[13]="Vaïra avec son bob et le chien de Columbo";
infos[14]="Antoine fait des pâtés de sable";
infos[15]="Vania en gros plan...";
infos[16]="Paul alias la crevette";
infos[17]="Calvin et son bob bleu";
infos[18]="Rokia et son \"coin-coin\" sous la serviette de bain";
infos[19]="Leïla les p'tites bouclettes";
infos[20]="Victor et ses haltères";
infos[21]="Juliette en salopette";
infos[22]="Brice qui tire la langue";

var largeurTotale = nbr*(largeur + espace) + espace;

var diaporama:MovieClip = new MovieClip();
diaporama.y=10;
addChild(diaporama);

for (var i = 0; i < nbr; i++) {

var mc:MovieClip = new MovieClip();
var conteneur:MovieClip = new MovieClip();
var chargeur:Loader = new Loader();
var chemin:URLRequest=new URLRequest("photos/"+i+".gif");
var cadre:MovieClip = new MovieClip();

chargeur.load( chemin );
mc.addChild(chargeur);

with (cadre) {
graphics.lineStyle(1, "0x000000", 100);
graphics.moveTo(0, 0);
graphics.lineTo(largeur, 0);
graphics.lineTo(largeur, hauteur);
graphics.lineTo(0, hauteur);
graphics.lineTo(0, 0);
}
mc.addChild(cadre);

mc.name="photo"+i;
mc.x = espace + (largeur + espace)*i;
mc.nombre=i; //je stock i ici
mc.addEventListener(MouseEvent.MOUSE_OVER, sourisOver);
mc.addEventListener(MouseEvent.MOUSE_OUT, sourisOut);
diaporama.addChild(mc);


}

function sourisOver(e:Event):void {
commentaires.text="Photo n°"+this.nombre+" : "+infos[this.nombre]; // et je veux le recupérer ici
}

function sourisOut(e:Event):void {
commentaires.text="";
}

parent.addEventListener(MouseEvent.MOUSE_MOVE, bougeSouris);
function bougeSouris(e:Event):void {
diaporama.x = (600 - largeurTotale)/600*mouseX;
}
A voir également:

6 réponses

zoubiock Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   10
 
Désolé pour le retard :

import flash.events.MouseEvent;

var largeur=135;
var hauteur=170;
var espace=25;
var nbr=23;

var infos:Array = new Array();
infos[0]="Paul très concentré !";
infos[1]="Frank dans son petit seau jaune";
infos[2]="Claude en marcel jaune";
infos[3]="Paco le charmeur !";
infos[4]="Grégory en admiration devant ses parents";
infos[5]="Muriel et son petit ourson";
infos[6]="Serge dans les îles";
infos[7]="Thomas-les-binocles";
infos[8]="Huguette sort du trou";
infos[9]="Vincent le joufflu";
infos[10]="Pascal en couche culotte";
infos[11]="Hélène-la-joie-de-vivre";
infos[12]="Léon... quelles joues !";
infos[13]="Vaïra avec son bob et le chien de Columbo";
infos[14]="Antoine fait des pâtés de sable";
infos[15]="Vania en gros plan...";
infos[16]="Paul alias la crevette";
infos[17]="Calvin et son bob bleu";
infos[18]="Rokia et son \"coin-coin\" sous la serviette de bain";
infos[19]="Leïla les p'tites bouclettes";
infos[20]="Victor et ses haltères";
infos[21]="Juliette en salopette";
infos[22]="Brice qui tire la langue";

var largeurTotale = nbr*(largeur + espace) + espace;

var diaporama:MovieClip = new MovieClip();
diaporama.y=10;
addChild(diaporama);

for (var i = 0; i < nbr; i++) {

var mc:MovieClip = new MovieClip();
var conteneur:MovieClip = new MovieClip();
var chargeur:Loader = new Loader();
var chemin:URLRequest=new URLRequest("photos/"+i+".gif");
var cadre:MovieClip = new MovieClip();

chargeur.load( chemin );
mc.addChild(chargeur);

with (cadre) {
graphics.lineStyle(1, "0x000000", 100);
graphics.moveTo(0, 0);
graphics.lineTo(largeur, 0);
graphics.lineTo(largeur, hauteur);
graphics.lineTo(0, hauteur);
graphics.lineTo(0, 0);
}
mc.addChild(cadre);

mc.name="photo"+i;
mc.x = espace + (largeur + espace)*i;
mc.nombre=i; //je stock i ici
trace(mc.nombre)
mc.addEventListener(MouseEvent.MOUSE_OVER, sourisOver);
mc.addEventListener(MouseEvent.MOUSE_OUT, sourisOut);
diaporama.addChild(mc);


}

function sourisOver(event:MouseEvent):void {
commentaires.text="Photo n°"+event.target.parent.nombre+" : "+infos[event.target.parent.nombre]; // et je veux le recupérer ici
}

function sourisOut(e:Event):void {
commentaires.text="";
}

parent.addEventListener(MouseEvent.MOUSE_MOVE, bougeSouris);
function bougeSouris(e:Event):void {
diaporama.x = (600 - largeurTotale)/600*mouseX;
}
1
zoubiock Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   10
 
Dans ta fonction sourisOver, si tu fais un
trace(this);
trace(this.name);
trace(this._name);
trace(this.nombre);

qu'obtiens-tu ?

Sinon, un peu bourrin, mais
Number(this._name.substr(5));
devrait fontionner...
0
00sebounet00 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour zoubiock,

merci pour ta reponse rapide

voici le resultat des trace dans sousOver :

trace(this); //[object MainTimeline]
trace(this.name); //root1
trace(this._name); //undefined
trace(this.nombre); //undefined

sinon pour
Number(this._name.substr(5));

je ne vois pas ou le placer
0
zoubiock Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   10
 
On va continuer les tests alors, peux tu faire:

function sourisOver(event:MouseEvent):void {
trace(event.target.name);
commentaires.text="Photo n°"+this.nombre+" : "+infos[this.nombre]; // et je veux le recupérer ici
}
0

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

Posez votre question
00sebounet00 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
le trace(event.target.name) me donne le numero d'instance

resultat:

instance19
instance24
instance29
instance30
instance24
instance19
instance64
instance69
instance74
instance79
instance85
instance84
0
00sebounet00 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci c cool

je commencais a tourner en rond
0