Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2007, 22h04   #1
Invité de passage
 
Inscription : septembre 2003
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 15
Points : 3
Points : 3
Par défaut Charger des données XML dans un tableau à 2 diensions.

Voilà mon soucis. Je charge un fichier XML dont en voici une copie partiel :
Citation:
<?xml version='1.0' encoding='utf-8'?>
<niveau>
<piece num_lev="1" croix="11" trident="12" coude="13" droit="14" bouchon="15" />
<piece num_lev="2" croix="21" trident="22" coude="23" droit="24" bouchon="25" />
...
</niveau>
Mon swf reçoit bien les données. Mon but est de créer un tableau avec une colonne pour le nombre de croix, une pour le nombre de trident...
Et j'aurais une ligne par num_lev. Je souhaite donc remplir un tableau à 2 dimensions. Voici mon code :
Citation:
class jeu
{
private var tab_stats:Array = new Array();
function jeu()
{
var stats_xml:XML = new XML();
stats_xml.ignoreWhite = true;
stats_xml.load("stats_niveaux.xml");
stats_xml.onLoad = function(flag) {
if (flag) {
for (var i=0; i<15; i++)
{
var compteur = 0;
tab_stats[i] = new Array(5);
tab_stats[i][compteur] = stats_xml.firstChild.childNodes[i].attributes.croix;
compteur = compteur + 1;
Mais voilà, si je demande à afficher tab_stats[i][compteur], il me répond undefined. Or le trace de stats_xml.firstChild.childNodes[i].attributes.croix; fonctionne très bien. J'ai donc un gros problème soit à la création de mon tableau à double entrée, soit à l'affectation d'une valeur.

Si une ame charitable pouvais me renseigner. Merci bcp et bonne soirée.
trace(stats_xml.firstChild.childNodes[i].attributes.croix);
thejcdc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 17h13   #2
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Voici la partie de la boucle for qui devrait résoudre ton problème :
Code :
1
2
3
4
5
6
7
8
9
10
 
tab_stats : Array = new Array();
 
		for (var i=0; i<15; i++){			
			var objet : Object = new Object;
			objet.Croix = stats_xml.firstChild.childNodes[i].attributes.croix;
			objet.Trident = stats_xml.firstChild.childNodes[i].attributes.trident;
 
			tab_stats = tab_stats.concat(objet);
		}
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h20.


 
 
 
 
Partenaires

Hébergement Web