ARRAY ET XML AU SERVICE DU CHARGEMENT ALEATOIRE D'UNE IMAGE DE FOND

cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009 - 13 févr. 2005 à 23:31
jornov7 Messages postés 4 Date d'inscription dimanche 31 octobre 2010 Statut Membre Dernière intervention 16 avril 2011 - 3 mars 2011 à 15:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29488-array-et-xml-au-service-du-chargement-aleatoire-d-une-image-de-fond

jornov7 Messages postés 4 Date d'inscription dimanche 31 octobre 2010 Statut Membre Dernière intervention 16 avril 2011
3 mars 2011 à 15:22
Pourquoi çà ne marche pas avec des images png?
cyberbelette Messages postés 12 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 novembre 2016
27 févr. 2008 à 11:28
Bonjour,
je débute en action script et j'essaye d'adapter ce script à une cible "toto" déjà présente sur la scène. ça a l'air de fonctionner si ce n'est que la fenêtre de sortie n'affiche pas toujours le bon nom de fichier image et que la dernière image nommée dans le fichier XML n'est jamais atteinte.
Si quelqu'un pouvait me dire ce qui cloche, voilà ce que j'ai gardé du code cité + haut (désolé, je n'ai trouvé nulle part quelles balises mettre pour citer du code proprement):

//ON CREE UN ARRAY VIDE QUE L'ON REMPLIRA PLUS TARD
all_images = new Array();
//ON DECLARE LA VARIABLE AJOUTE QUI VA NOUS SERVIR A INSERER UNE IMAGE DANS L'ARRAY
var _ajoute;
//PROCEDURE DE CHARGEMENT DU FICHIER XML
myXML=new XML();
myXML.ignoreWhite=true;
//LES IMAGES SONT STOCKEES DANS LOAD.XML
myXML.load("load.xml");
//SI CHARGEMENT OK ALORS
myXML.onLoad = function (ok){
if (ok){
//ON INITIALISE LE COMPTEUR
i=0;
//ON DESCEND A LA SECTION MAIN DU FICHER XML
x=myXML.firstChild;
//TANT QU'IL EXISTE UN NOEUD FOND
while(x.childNodes[i]!=undefined){
//LA VARIABLE _AJOUTE PREND LA VALEUR DU FICHIER DU NOEUD
_ajoute = x.childNodes[i].childNodes[0].attributes.url;
//ON AJOUTE L'IMAGE A L'ARRAY
all_images.push(_ajoute)
//ON INCREMENTE I+1 ou I++
i++;
}
}
//ON CHARGE L'IMAGE AVEC UNE ROUTINE PERMETTANT DE CHOISIR AU HAZARD PARMI TOUS LES FICHIERS DU XML
toto.loadMovie(all_images[random(all_images.length-1)]);
//TRACE PERMET DE TESTER SI TOUT EST OK A CE STADE
trace(all_images[random(all_images.length-1)]);
}
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011
13 mars 2007 à 16:28
tres bon script dommage que ne parvient pas a lui faire charger des png
cs_Youniz Messages postés 8 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 2 juillet 2008
7 mars 2007 à 14:02
Très bien le script... vraiment... je cherchais ca depuis bien longtemps.

Par contre j'ai un petit problème. En effet, le but du jeu est de créer un MovieClip qui contiendra le fond [createEmptyMovieClip("fond", 1)]... Le problème et que si je veux créer d'autre MovieClip sur ma scène pour me servir uniquement de l'image comme fond et bien ce n'est pas possible... mon fond se retrouve toujours au-dessus de tout mes autres MovieClips et images... j'imagine qu'une simple ligne de code suffirait à régler le problème... mais je n'y arrive pas... peux-tu me donner l'astuce...

Merci ;)
Brendarth Messages postés 15 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 25 novembre 2005
2 déc. 2005 à 12:51
Cette version semble bien plus stable que dans ta source sur les barres de chargement.
Ca marche impec et ça sera sans doute utile à pas mal de monde.

Un conseil :
Essaye d'améliorer ton effet de "rebond" pour ne plus procéder en image par image. ;)

9/10
rochpat Messages postés 2 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 4 janvier 2006
21 juin 2005 à 18:07
bonjour, je voulais juste savoir si vous pouvez remettre votre fichier .fla car il ne s'ouvre pas dans flash mx juste pour voir le code source et autre éléments.
barbaralille Messages postés 38 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 29 décembre 2010
21 févr. 2005 à 16:38
sympa ce code !

il va etre utile !

Merci Iwred
cs_ae2olivier Messages postés 2 Date d'inscription mardi 26 octobre 2004 Statut Membre Dernière intervention 14 février 2005
14 févr. 2005 à 18:42
C'est un truc que je voulais depuis longtemps.

Ben c'est Iwred qui l'a fait.

Comme quoi la télépathie ça marche, faut pas être presser.

Ton code est très clair, j'ai presque tout compris.

Merci et A++
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
13 févr. 2005 à 23:31
Auteur : lwred
Date d'ajout : 10/09/2004
http://www.flashkod.com/code.aspx?ID=26049

pourquoi ?
Rejoignez-nous