[FLASH MX] texte et zone de textes crées dynamiquement
bonjour a tous,
j'ai un soucis avec des zones de textes crées dynamiquement
Lorsque je specifie un texte fixe, les champs sont bien crés, et le texte est bien affiché; Seulement lorsque je charge le texte avec un LoadVars, le loadVars lit bien le contenu du fichier et ma variable est bien renseignée, mais le texte n'est pas assigné a mon champ texte, enfin je suppose, puisque rien n'est affiché.
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
//------------------------------------
// Initialisation des variables
//------------------------------------
var elts = [3,4,7]; // tableau des elements a afficher
var lv = new LoadVars(); // tableau d'objet LoadVars
var i = 1; // iterateur
var pos = 0;
_global.texteAAfficher = "";
elts = [3,4,7]; // les identifiants des fichiers a afficher
//------------------------------------------
// Methode Onload de l'objet LoadVars
//------------------------------------------
lv.onLoad = function(pSuccess){
if (pSuccess){
_global.texteAAfficher = this.Variable;
}
else{
_global.texteAAfficher = "";
}
trace("texte ["+_global.texteAAfficher+"]");
}
//------------------------------------------
// L'objet TextFormat
//------------------------------------------
var monFormat = new TextFormat();
monFormat.color = 0xff0000;
monFormat.bullet = false;
monFormat.underline = false;
//monFormat.align = "left";
monFormat.indent = 15;
//--------------------------------------
// Boucle sur chacun des elements
//--------------------------------------
for(var prop in elts){
//--------------------------
// le titre du point
//---------------------------
this["titre"+i+"_mc"] = this.attachMovie("titre","titre"+i,i);
this["titre"+i+"_mc"].txtTitre_txt.text = "Point "+elts[prop];
this["titre"+i+"_mc"]._x = 400;
this["titre"+i+"_mc"]._y = pos;
pos+= 23;
//--------------------------
// le texte accompagnant
//---------------------------
this["text"+i+"_mc"] = this.createEmptyMovieClip("text"+i,(i+5));
this["text"+i+"_mc"]._x = 400;
this["text"+i+"_mc"]._y = pos;
this["text"+i+"_mc"].createTextField(("text_txt"+i),1,0,0,100,50);
// chargement du fichier
lv.load("./".+elts[prop]+".txt");
this["text"+i+"_mc"][("text_txt"+i)].text = _global.texteAAfficher;
this["text"+i+"_mc"][("text_txt"+i)].setTextFormat(monFormat);
pos += this["text"+i+"_mc"]._height;
i++;
}
delete _global.texteAAfficher;
stop(); |
si je remplace la ligne
Code:
1 2
|
this["text"+i+"_mc"][("text_txt"+i)].text = _global.texteAAfficher; |
par
Code:
1 2
|
this["text"+i+"_mc"][("text_txt"+i)].text = "ceci est le texte"; |
dans ce cas, j'ai bien le texte qui est affiché...
Pourtant si je fais un trace de ma variable globale, j'ai bien la variable attendue... :s
encore une subtilité de Flash que j'ai du mal a saisir...
si vous aviez une idée sur l'origine et la facon dont je peux fixer ce probleme....:)
merci d'avance pour votre aide