projer
Messages postés112Date d'inscriptionlundi 6 avril 2009StatutMembreDernière intervention17 janvier 2015
-
6 nov. 2009 à 16:42
projer
Messages postés112Date d'inscriptionlundi 6 avril 2009StatutMembreDernière intervention17 janvier 2015
-
7 nov. 2009 à 02:41
Bonjour,
je suis actuellement en train de développer mon premier site en AS3 et je bute sur une chose :
J'importe un XML et dans ce XML, j'ai environ 250 noeuds de ce genre :
Pas de pb avec mon XML, il est bien importé et avec .photo.length, il me retourne bien le nombre de noeuds.
Ensuite je voulais qu'il me créé un tableau avec les différentes valeurs qu'on peut trouver dans l'attribut catf et qu'il les mette dans un tableau avec près de pouvoir créer un menu déroulant.
J'ai donc tapé ceci :
nombrePhotos=fichierXML.photo.length();
var tbl_cat:Array=new Array();
//pour chaque photo,
for(var i:Number=0;i<nombrePhotos;i++){
//on teste dans toutes les cases du tableau si la catégorie est déjà présente
for(var j:Number=0;j<tbl_cat.length;j++){
trace(j)
//si pas présente,
if(fichierXML.photo[i].@catf!=tbl_cat[j]){
//on la créé
tbl_cat.push(fichierXML.photo[i].@catf);
}
}
}
le problème est que l'animation bloque comme lors d'une boucle infinie. Hors je n'ai pas l'impression que la mienne le soit...
Il me retourne ça avec le trace :
"...
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
Error: Error #1502: La durée d'exécution d'un script excède le délai par défaut (15 secondes).
at photo_fla::MainTimeline/photo_fla::frame103()"
Twinspirit
Messages postés58Date d'inscriptionmercredi 21 mai 2008StatutMembreDernière intervention 7 mai 2012 6 nov. 2009 à 22:04
là ca marche :
fichierXML = new XML(e.target.data);
trace (fichierXML);
nombrePhotos=fichierXML.photo.length();
var tbl_cat:Array=new Array();
//pour chaque photo,
for (var i:Number=0; i<nombrePhotos; i++)
{
//on teste dans toutes les cases du tableau si la catégorie est déjà présente
var cat:String = String(fichierXML.photo[i].@catf);
trace(cat);
var ind:int = tbl_cat.indexOf(cat,0);
trace (ind);
if (ind == -1)
{
tbl_cat.push(String(fichierXML.photo[i].@catf));
}
}
trace (tbl_cat);
Je caste tout en String pour que la méthode indexOf de la classe Array puisse repérer les noms de catégories déjà présents.
TwFlash - Développeur ActionScript3 freelance.
Mon blog : Twin Flash Blog Mon site : TwFlash