[AS3] [RESOLU] Changer un TextField.text

Changer un TextField.text [AS3] [RESOLU] - Flash/ActionScript - Programmation

Marsh Posté le 06-11-2008 à 11:16:32    

Flasheur, Flasheuse,
 
Comme beaucoup de monde, je me met à l'AS3...
Mais en AS3, on ne peut plus attribuer directement une variable au contenu d'un textfield comme en AS1 ou 2.
En effet, on doit maintenant le faire de la sorte : MyTextField.text = "mon texte"
 
Seulement voila, je n'arrive pas à changer MyTextField.text ailleurs que dans son propre emplacement...
 
Dans mon exemple, MyTextFieldest situé dans ma racine.
A partir d'un sous-clip, j'ai essayé le code : root.MyTextField.text = "PaTaTi TaTa" Mais rien n'y fait, erreur !
 
J'ai donc trouver une parade, dans mon sous clip, j'ai root.MonTexte = "PaTaTi TaTa" (provoqué par un clique notamment...)
Puis dans ma racine:
 
var MonTexte = "rien"
var MyTextField:TextField = new TextField();
addChild(MyTextField);
 
addEventListener(Event.ENTER_FRAME,ChangeTexte);
function ChangeTexte(e:Event) {
 MyTextField.text = MonTexte ;
}

 
ça marche bien, mais... C'est pas très propre... Ne voyez vous pas une autre solution ?
 
 
RESOLU
 
Au lieu de :
root.MyTextField.text = "PaTaTi TaTa"
=======> MovieClip(root).MyTextField.text = "PaTaTi TaTa"
En effet, la plupart des commandes ne peuvent être émise que sur des clip (techniquement, root peut être autre chose) donc, il faut rassurer le compilateur sur le fait que root est un clip, d'où le MovieClip(root) ....


Message édité par abais le 10-11-2008 à 11:54:46

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 06-11-2008 à 11:16:32   

Reply

Marsh Posté le 07-11-2008 à 03:00:13    

Tu devrais regarder dans l'aide, il y a toute une page sur la migration AS2-AS3.
La propriété text est devenue la fonction appendText().
 
Sinon, je comprend pas trop ton probleme de scope.
FAudrait que tu mettes tout le code ou le message d'erreur.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 07-11-2008 à 15:31:37    

l'erreur annoncé a le code 1119, je ne trouve rien de signifiant...
 
appendText c'est pour rajouter du text... (lui marche apparemment entre différents niveau)
La propriété .text n'as pas été remplacé !  :non:  
 
Je me rend compte que ça ne marche pas de l'autre sens (de root vers un movieclip contenant un textfield)
 
Y a t'il un package en particulier à importer ?
 
Sinon, la fonction replaceText() marche dans le sens root=>enfant mais toujour pas l'inverse...
 
Je prépare .FLA pour vous montrer...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 07-11-2008 à 15:54:01    

Voila :
Dans ce fichier, un textfield dans la root, puis dans le seul movieclip présent, de quoi sencer changer le contenu de ce parent.textfield...
http://abais.free.fr/test_Abais_AS3.zip


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-11-2008 à 11:55:59    

Resolu !


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed