Problème de onPress dans une boucle

Signaler
Messages postés
2
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
24 août 2006
-
Messages postés
11
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 août 2006
-
Bonjour à tous et toutes,

Je débute en flash et j'ai un problème pour ma galerie de photos. J'affiche une photo et les miniatures.
Le problème c'est que le onPress sur mes miniatures ne fonctionne pas et je rame sans trouver.
Merci de votre aide.
Voici mon code complet, le problème se situe dans la fonction afficherPhotos

System.useCodepage = true;
import mx.utils.Delegate;


var tailleX:Number = 660;
var tailleY:Number = 710;
var espace:Number = 10; //l'espace entre les miniatures
//espacePhotoMiniY :l'espace entre la photo et les miniatures mais
//il y aura un espace minimum de la valeur de la variable espace
var espacePhotoMiniY = 0;
var nbMiniPerLine:Number = 9; //le nombre de miniatures par ligne
var tailleMini:Number = 60;
var contenuXMLFichier:Array = new Array();
var contenuXMLLargeur:Array = new Array();
var contenuXMLHauteur:Array = new Array();
var contenuXMLFichierMini:Array = new Array();
var nbPhotos:Number;
var xml:XML;


function XMLContentLoader([String url:String])
{
 xml = new XML();
 xml.ignoreWhite = true;
 xml.onLoad = Delegate.create(this, onLoadEvent);
 xml.load(url);
}
function onLoadEvent(success:Boolean):Void
{
 if(success)
 {
  nbPhotos = xml.firstChild.childNodes.length;//récupérer le nombre de photos
   for(var i:Number=0; i<nbPhotos; i++)
   {
    contenuXMLFichier[i]=xml.childNodes[0].childNodes[i].attributes.fichier;
   contenuXMLLargeur[i]=xml.childNodes[0].childNodes[i].attributes.largeur;
   contenuXMLHauteur[i]=xml.childNodes[0].childNodes[i].attributes.hauteur;
   contenuXMLFichierMini[i]=xml.childNodes[1].childNodes[i].attributes.fichier;
   }
  afficherPhotos(nbPhotos,contenuXMLFichier,contenuXMLLargeur,contenuXMLHauteur,contenuXMLFichierMini)
 }
}
function afficherPhotos(nPhotos:Number,cXMLFichier:Array,cXMLLargeur:Array,cXMLHauteur:Array,cXMLFichierMini:Array)
{
 var largeurP:Number = Number(cXMLLargeur[0]);
 var hauteur:Number = Number(cXMLHauteur[0]);
 var xMini:Number;
 var ligne:Number = 0;
 var col:Number = 0;
 
 /*---------------------------------------------
 Définition de l'espace Photo
 ---------------------------------------------*/
 _root.niveauPhoto = 1000;
 _root.FdPho = attachMovie("FondPhotoClp","FdPho",niveauPhoto);
 FdPho._x = (tailleX - largeurP)/2;
 FdPho._y = espace;
 FdPho.loadMovie(cXMLFichier[0]);//On affiche la 1ere photo
 
 /*---------------------------------------------
 Définition de l'espace miniatures
 ---------------------------------------------*/
 _root.niveauMini = 2000;
 /*Pour gérer automatiquement le nombre de miniatures par ligne,
 il faut enlever les commentaires de la ligne suivante qui calculera
 le maximum de miniatures sur la 1ere ligne etc...*/
 
 //nbMiniPerLine = Math.round(tailleX/(espace + tailleMini));
 xMini = (tailleX - (nbMiniPerLine*(tailleMini+espace)))/2 + espace/2; //position de la premiere miniature
 for(var i:Number=0; i<nPhotos; i++)
  {
  if(i==0)
  {
   _root.attachMovie("MiniPhotoClp","mini"+i,niveauMini+i);
      _root["mini"+i]._x = xMini;
      _root["mini"+i]._y = hauteur+espace*2 + espacePhotoMiniY;
   _root["mini"+i].loadMovie(cXMLFichierMini[i]);
   _root["mini"+i].onPress = function()
   {
    trace("ok"); // ne fait rien du tout.....
   }
  }
  else
  {
   if(i%nbMiniPerLine==0)//On a atteind le nbre de photos par ligne, on passe a la ligne suivante
   {
    ligne = ligne+tailleMini+espace;
    col = col+tailleX-2*xMini+espace;
   }
   _root.Mini = attachMovie("MiniPhotoClp","mini"+i,niveauMini+i);
      _root["mini"+i]._x = xMini + tailleMini*i-col+espace;
      _root["mini"+i]._y = hauteur+espace*2+ligne + espacePhotoMiniY;
   _root["mini"+i].loadMovie(cXMLFichierMini[i]);
   _root["mini"+i].onPress = function()
   {
    trace("ok");//ne fait rien du tout
   }
   col = col - espace;
  }
  }
}
XMLContentLoader("../xml/sanguines.xml");

RHINO

1 réponse

Messages postés
11
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 août 2006

salut, j ai exactement le meme problème que toi, alors si jamais tu trouve la solution fait le savoir :)
merci
henry