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.