ARRAY ET XML AU SERVICE DU CHARGEMENT ALEATOIRE D'UNE IMAGE DE FOND
cs_Mafassure
Messages postés1058Date d'inscriptionjeudi 24 juillet 2003StatutModérateurDernière intervention14 février 2009
-
13 févr. 2005 à 23:31
jornov7
Messages postés4Date d'inscriptiondimanche 31 octobre 2010StatutMembreDernière intervention16 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.
jornov7
Messages postés4Date d'inscriptiondimanche 31 octobre 2010StatutMembreDernière intervention16 avril 2011 3 mars 2011 à 15:22
Pourquoi çà ne marche pas avec des images png?
cyberbelette
Messages postés12Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention16 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és172Date d'inscriptionsamedi 11 août 2012StatutMembreDerniè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és8Date d'inscriptionmercredi 13 septembre 2006StatutMembreDerniè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és15Date d'inscriptionjeudi 16 décembre 2004StatutMembreDernière intervention25 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és2Date d'inscriptionmardi 21 juin 2005StatutMembreDerniè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és38Date d'inscriptionlundi 3 mai 2004StatutMembreDernière intervention29 décembre 2010 21 févr. 2005 à 16:38
sympa ce code !
il va etre utile !
Merci Iwred
cs_ae2olivier
Messages postés2Date d'inscriptionmardi 26 octobre 2004StatutMembreDernière intervention14 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és1058Date d'inscriptionjeudi 24 juillet 2003StatutModérateurDernière intervention14 février 2009 13 févr. 2005 à 23:31
3 mars 2011 à 15:22
27 févr. 2008 à 11:28
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)]);
}
13 mars 2007 à 16:28
7 mars 2007 à 14:02
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 ;)
2 déc. 2005 à 12:51
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
21 juin 2005 à 18:07
21 févr. 2005 à 16:38
il va etre utile !
Merci Iwred
14 févr. 2005 à 18:42
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++
13 févr. 2005 à 23:31
Date d'ajout : 10/09/2004
http://www.flashkod.com/code.aspx?ID=26049
pourquoi ?