Utilisation du texte > Contrôle du texte avec ActionScript > Création et suppression dynamique de champs de texte

 

Création et suppression dynamique de champs de texte

Vous pouvez utiliser la méthode createTextField de l'objet MovieClip pour créer un nouveau champ de texte vide, en tant qu'enfant du clip appelant la méthode. Vous pouvez utiliser la méthode removeTextField pour supprimer un champ de texte créé avec createTextField, ce qui ne fonctionne cependant pas pour les champs de texte placés par le scénario.

Lorsque vous créez un champ de texte, vous pouvez utiliser l'objet TextField pour en définir les propriétés. Si vous ne définissez pas ses propriétés, le nouveau champ de texte reçoit un ensemble de propriétés par défaut. Les propriétés par défaut du nouveau champ de texte sont les suivantes :

type = "dynamic"
border = false
background = false
password = false
multiline = false
html = false
embedFonts = false
variable = null
maxChars = null

Une fois que vous avez créé un champ de texte, vous pouvez utiliser l'objet TextFormat pour formater le texte. Vous devez créer un nouvel objet TextFormat, puis le transmettre comme paramètre à la méthode setTextFormat de l'objet TextField. Un champ de texte créé avec la méthode createTextField reçoit l'objet TextFormat par défaut suivant :

font = "Times New Roman"
size = 12
textColor = 0x000000
bold = false
italic = false
underline = false
url = ""
target = ""
align = "left"
leftMargin = 0
rightMargin = 0
indent = 0
leading = 0
bullet = false
tabStops = [] (tableau vide)

Pour créer un champ de texte dynamique :

1

Sélectionnez une image, un bouton ou un clip auquel vous souhaitez affecter l'action.

2

Choisissez Fenêtre > Actions pour ouvrir le panneau Actions si ce dernier n'est pas déjà ouvert.

3

Dans le panneau Actions, sélectionnez les catégories Objets, puis Animation, puis MovieClip, puis Méthodes, puis double-cliquez sur la méthode createTextField.

4

Dans le champ Objet, entrez un nom d'occurrence pour le clip qui sera le parent du nouveau champ de texte. Pour cet exemple, entrez l'alias _root, le scénario principal étant le parent.

5

Entrez des valeurs pour les paramètres suivants :

nomDoccurrence est le nom d'occurrence du nouveau champ de texte. Pour cet exemple, entrez monTexte.

profondeur est un nombre qui spécifie l'ordre d'empilement. Pour cet exemple, entrez 1.

x est la coordonnée x par rapport au clip parent. Pour cet exemple, entrez 50.

y est la coordonnée y par rapport au clip parent. Pour cet exemple, entrez 50.

Le code suivant est affiché dans le panneau Script :

_root.createTextField("monTexte",1,50,50,200,100);

6

Dans le panneau Actions, sélectionnez les catégories Objets, puis Animation, puis TextField, puis Propriétés, puis double-cliquez sur la méthode text. Pour cet exemple, entrez monTexte dans le champ de paramètre Expression.

7

Dans le champ Valeur, entrez Ceci est mon premier test de texte d'objet de champ de texte. Le texte suivant est affiché dans le panneau Script :

monTexte.text = "Ceci est mon premier test de texte d'objet de champ de texte";

Cet exemple crée un champ de texte avec le nom d'occurrence monTexte, une profondeur de 1, une largeur de 200, une hauteur de 100, une valeur x de 50 et une valeur y de 50.

Pour plus d'informations sur la méthode createTextField de l'objet TextField, consultez l'entrée correspondante dans le dictionnaire ActionScript (via le menu Aide).