Salut,
Voici mon soucis :
Je réalise une carte géographique dynamique composée de 115 régions. Au
survol de la souris, chacune de ces régions (des MovieClip) doivent
renvoyer des variables ou des données qui sont contenues dans un
fichier text...
Ce que je sais faire :
1/ lire un fichier texte et récupérer les infos que j'ai besoin.
le fichier texte se présente de la façon suivante :
&IRIS542023=1,00000;54;mama;5;10;mimi;100,00;500
&IRIS543251=2,00000;55;papa;6;11;pipi;200,00;600
&IRIS548950=3,00000;56;tata;7;12;titi;300,00;700
&IRIS549861=4,00000;57;gaga;8;13;bibi;400,00;800
la programmation utilisée est :
theTexte = "donnees1.txt";
loadVariablesNum(theTexte, 0);
IRIS1.onRollOver = function() {
nom = this._name;
test = IRIS1;
prod1 = IRIS1.split(";");
prix1 = "prix1 = "+prod1[2];
prix2 = "prix2 = "+prod1[3];
};
ou IRIS1 est ne nom de ma premiere région ou MovieClip
Je sais faire le truc suivant (d'après un script piqué ici)
2/ affecter une action à toutes les MovieClip d'un niveau. Le code
utilisé est le suivant (ou les IRIS[i] sont le nom de mes MovieClip)
niveau_complet=function(IRIS) {
for (var i in IRIS) {
if (IRIS[i] instanceof MovieClip) {
IRIS[i]._visible=false;
}
}
}
niveau_complet(_level0);
avec ce programme, tout les MovieClip sont rendu invisible. _level0 peut être remplacé par une occurrence de clip.
Mon idée est de compiler les deux pour m'éviter de devoir écrire 115 fois le programme du 1/
d'où l'envi de struturer le code de la façon suivante :
---------------------------------------------------------------
theTexte = "donnees1.txt";
loadVariablesNum(theTexte, 0);
// --- ici je commence une boucle ---
niveau_complet=function(IRIS) {
for (var i in IRIS) {
if (IRIS[i] instanceof MovieClip) {
// --- ici je mets le rollover ----
ex : IRIS[i].onRollOver = function() { etc...}
}
// --- fin de la boucle
}
// --- je renseigne "niveau_complet"
niveau_complet(_level0);
-----------------------------------------------------------------
Le seul HIC dans tout cela sait quand mettant une boucle, je
N'ARRIVE pas extraire les données du fichier texte, où alors juste la
dernière ( le [i] max). Par contre si je demande dans le RollOver le
nom du clip survolé (avec this._name), flash me renvoit la bonne info.
D'après moi (je pense que...), le problème se situe à la ligne de code où je (tente de) défini(r) le délimitateur
( prod1 = IRIS[i].split(";"); )
Voilà mon "souci".
Qui pourra me sortir de cette mauvaise passe ?
veuillez recevoir, mademoiselle, madame, monsieur mes salutations les plus flashantes !