Reno007
Messages postés2Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention24 août 2006
-
24 août 2006 à 15:24
cs_NDK
Messages postés11Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 août 2006
-
27 août 2006 à 23:43
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
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 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");