djh3o
Messages postés11Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention27 mars 2008
-
10 juil. 2005 à 23:38
cs_Mafassure
Messages postés1058Date d'inscriptionjeudi 24 juillet 2003StatutModérateurDernière intervention14 février 2009
-
14 juil. 2005 à 13:39
Bonjour, étant débutant en Action script, j'ai une petite galère sur une chose que je désirerais faire.
Pour expliquer mon prob, je voudrais avoir une anim flash avec par exemple deux champs texte dynamique avec pour valeur en var Texte1 et Texte2
Je voudrais ensuite lire un fichier xml qui me rempli mes champs texte.
Bon jusque la rien de bien compliqué. J'arrive a les remplir a la main en finissant mon code par Texte1 = ma valeur dans mon xml
La ou ça se complique c'est que je voudrais optimiser mon code pour eviter de finir avec une liste de remplissage d'un nombre de variable délirant si par exemple j'ai 150 champs textes dans mon anim.
et avoir donc ensuite une routine qui boucle sur tous mes elements "Texte" dans mon xml est rempli la variable ayant pour nom la valeur "nom" de mon XML et y injecte la valeur correspondante dans l'xml.
Comme cela si a l'avenir j'ai un nouveau champs texte dans mon flash a ajouter, je n'ai qu'a lui donner un nom et a ajouter une ligne dans l'xml sans devoir modifier mon code action script....
djh3o
Messages postés11Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention27 mars 2008 11 juil. 2005 à 23:56
nan j'ai rien commencé... j'ai juste déja fait un script qui remplit les variables a la fin... mais ce que je veux c un script qui prend le nom de la variable egalement a remplir en dynamique dans l'xml pour eviter d'avoir un listing de 200 remplissages de variables mais plutot une boucle sur mon xml
cs_delivrance
Messages postés22Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention15 juillet 2005 14 juil. 2005 à 01:41
si ja i bien saisi tu veux créé autant de champs texte que de balise dans ton xml?
le probleme est que si tu as trop de champs texte il vont sortir de ta page, et du va devoir en plus cree un affichage defilant
si tu peux expliciter un peu plus ce que tu veux fair pour pouvoir mieux t aider... merci
Ensuite je veux coder un action scipt qui va boucler dans mon xml et remplir la valeur correspondante dans le champ txt1, txt2 et txt3 mais sans finir mon code par :
txt1 = ...
txt2 = ...
txt3 = ....
car sinon si je rajoute un champs texte dans mon anim sa m'oblige a modifier mon action script avec txt3=...
alors que si je fais une récurence ou autre dans mon xml qui boucle dedant et me met la valeur dans le champs texte, si je rajoute un champ texte dans mon anim, j'ai qu'a rajouter une ligne dans mon xml et la boucle en question de mon action script remplira forcement le nouveau champs texte vu qu'il y a une nouvelle ligne dans mon xml...
mais je ne vois pas comment dans un code dire prendre ma valeur1 et la mettre dans la variable txt1 de maniere dynamique...
en espérant avoir été plus clair !
merci de votre aide ;)
Alex
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_delivrance
Messages postés22Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention15 juillet 2005 14 juil. 2005 à 13:23
le probleme est que c est toujours un peu batard comme comme concerption,
a la limite il vraudrait mieux que tu cres tes champs textes dynamiquement quite amettre dans ton xml la position a laquelle tu veux qu apparraissent tes champs du genre
<main> <textField texte "bla bla bla ..." positionX "28" positionY = "56"/> <textField texte "bla bla bla 2..." positionX "47" positionY = "72"/> <textField texte "bla bla bla 3..." positionX "15" positionY = "96"/>
</main>
pour le xml
et
dans ton code quelque chose du genre
var cible:MovieClip = _root;
// par exemple ou sinon le clip qui recoit tes textField
var textField_ary:Array = new Array();
var monXml:XML = new XML();
monXml.ignoreWhite = true;
monXml.onLoad = function(success) {
if (success) {
for (var i = 0; i<this.firstChild.childNodes.length; i++) {
textField_ary[i] = cible.createEmptyMovieClip(i,i)
textField_ary[i]._x = this.firstChild.childNodes[i].attributes["positionX"]
textField_ary[i]._y = this.firstChild.childNodes[i].attributes["positionY"]
textField_ary[i].createTextField("texte", 1, 0, 0, 1000, 20);
// les 2 derniers numeros correspondent respectivement a la largeur et la hauteur de ton textField
textField_ary[i].texte.text = this.firstChild.childNodes[i].attributes["texte"];
textField_ary[i].texte.textColor = 0x000000; //definie la couleur du texte en hexadecimal tu peux aussi bien la rebtrer comme paramettredans ton xml comme pour le reste
}
}
};
monXml.load("monXml.xml");
voila ... bye
cs_Mafassure
Messages postés1058Date d'inscriptionjeudi 24 juillet 2003StatutModérateurDernière intervention14 février 2009 14 juil. 2005 à 13:39
Bonjour
perso j'opterai pour un positionnement via AS, fonction du nombre d'item
dans un proto tu crée un textField et ce positionne en fonction de son rang