le probleme avec un fichier texte, c'est qu'il va te créer toutes tes variables directement selon les noms que tu met dans le texte. De plus, il va considérer la TOTALITE de tes caracteres...
je m'explique avec un exemple de fichier qui peut etre chargé avec loadvar()
&nom=titre1&link=http:\\lien1.html
&nom=titre2&link=http:\\lien1.html
&nom=titre3&link=http:\\lien1.html
ce type de fichier posera 2 problemes :
1/ ton lien ne marche pas telquel car il y a un caractere de retour a la ligne en fin de ligne -> tu dois obligatoirement mettre tout sur 1 seule ligne OU t'amuser a parcourir tes chaines de caracteres pour retirer tout caracteres du au formatage de ton fichier.
2/ tu ne te retrouvera de toute facon a la fin qu'avec 1 seule variable nom et 1 seule variable link.
le code correct serait donc
&nom1=titre1&link1=http:\\lien1.html&nom2=titre2&link2=http:\\lien1.html&nom3=titre3&link3=http:\\lien1.html
ce qui est beaucoup moins lisible et t'oblige de faire des tests a chaque nouveau bouton pour savoir si cette variable existe deja ou pas (ce qui signifiera que tu aura passé tout tes titre[n]
en revanche, meme si le xml peut paraitre rébarbatif au debut, il y a tout a fait moyen d'en faire quelque chose de correct quand tu a aquis une ou deux bases...
voici mon fichier texte "config.xml"
Suivi des CR
<title>TITRE1</title>
<link>http://page1.html</link>
<title>TITRE2</title>
<link>http:\\</link>
comme tu le vois, j'ai mon premier élément qui est mon titre de page, puis chaque element suivant represente les données d'un bouton c a d : le nom du bouton(title) et le lien qui y est associé(link)
et voici le code a associer a la premiere frame de ton animation
(tout les boutons sont créés dés le départ, mais le code les rend invisible et inutilisable tant qu'il n'ont pas été configurés. c'est une limitation qui m'ennuie aussi, mais je n'ai pas encore trouvé de meilleure solutions)
le nom des bouton est, dans l'ordre BTN1,BTN2...
au dessus du bouton je place un texte et dans les propriétés je desactive l'option "selectionable", je le met en "texte dynamique" avec comme variable associée (var) _root.BTNname[0],_root.BTNname[1]... et je l'appelle TXT1,TXT2...
//creation de la variable pour enregistrer les données
config_xml = new XML();
//creation des tableau de nom et de lien
_root.address = new Array();
_root.BTNname = new Array();
// une fois chargé, je traite le fichier XML
config_xml.onLoad = function(success) {
if (success) {
processConfig(config_xml);
}
};
//et voici la fonction qui place les données dans les boutons
function processConfig(xmlDoc_xml)
{ // chargement du titre de la page
_root.titletext=xmlDoc_xml.childNodes[0].firstChild;
_root.pagetitle.text=_root.titletext;
//Je boucle pour le nombre de bouton
for (var n = 1; n<xmlDoc_xml.childNodes.length; n++)
{ //A chaque bouton, j'associe les parametres
//et fait apparaitre l'objet
//je choisis le bouton suivant
_root.actBTN = "BTN"+n;
_root.actTXT = "TXT"+n;
//je rend visible le bouton et le texte
_root[actBTN]._visible = true;
_root[actTXT]._visible = true;
//VOIR EXPLICATION DES "TRAJETS" XML
//j'associe les sources aux tableaux et au textes
_root.BTNname[n-1]=xmlDoc_xml.childNodes[n].childNodes[0].firstChild.nodeValue;
_root[actTXT].text=_root.BTNname[n-1];
_root.address[n-1]=xmlDoc_xml.childNodes[n].childNodes[1].firstChild.nodeValue;
}
}
EXPLICATION DES "TRAJETS" XML
------------------------------------------
une fois chargé, le xmlDoc_xml est la "source" des données.
pour aller a l'enfant X d'un objet, j'utilise la commande childNodes[X]
donc pour avoir le titre du second bouton, je dois prendre le trajet : xmlDoc_xml.childNodes[2].childNodes[1]
cependant ce que j'obtient alors c'est : "<title>TITRE1</title>" ou TITRE1 est le premier enfant du noeud "<title>".
j'obtiens donc xmlDoc_xml.childNodes[2].childNodes[1].firstChild
enfin, nodeValue permet d'obtenir une texte mieux formaté (exemple les & qui devienne &)
enfin, dans chaque bouton je dois aussi placer un certain code qui va le lier a l'adresse attribuée:
on(release)
{ getURL(_root.address[0],"_self");
}
Voila... en esperant avoir été assez complet... :) :)