La gestion du texte
CHAPITRE 14
339
styleTitreAccueil.letterSpacing =5;
titreAccueil.setTextFormat(styleTitreAccueil);
addChild(titreAccueil);
Nous vous conseillons de consulter le dernier développement intitulé Instanciation de
classes personnalisées du chapitre 6 ; il présente la gestion de la classe TextFormat() à
travers une classe externe.
Mettre en forme une plage de caractères
Dans le texte ci-dessous, nous aimerions mettre uniquement le nom de l’auteur de cette
citation en gras.
« Un bon maître a ce souci constant : enseigner à se passer de lui. ». André GIDE.
Nous devons donc créer une instance de la classe TextFormat() et définir les valeurs des
propriétés à utiliser. Nous faisons ensuite appel à la méthode setTextFormat() de la classe
TextField() en ajoutant des paramètres que nous n’avions pas encore utilisés pour le
moment : le début et la fin de la mise en forme du texte. Tous deux s’expriment en
nombre de caractères (avec une petite différence).
citation.setTextFormat(styleAuteur,68,78);
La valeur 68 correspond au 68 e caractère depuis le début du texte contenu dans l’instance
citation, en commençant à compter à partir de 0. En revanche, le nombre 78 ne correspond
pas au nombre de caractères à mettre en forme depuis la première valeur, mais au numéro
du caractère de fin de la plage de texte à mettre en forme. Contrairement au premier paramètre, il faut compter le premier caractère de la chaîne à partir de 1. Voici un exemple
complet (un texte dynamique intitulé citation a été préalablement crée sur la scène) :
citation.text = "'Un bon maître a ce souci constant : enseigner à se passer de lui.'
➥André GIDE.";
var styleAuteur:TextFormat = new TextFormat();
styleAuteur.bold=true;
citation.setTextFormat(styleAuteur,68,78);
Vous obtenez : ’Un bon maître a ce souci constant : enseigner à se passer de lui.’
André GIDE.
Il sera parfois difficile de connaître le numéro d’index à partir duquel la mise en forme
doit commencer. Vous pourrez alors utiliser la méthode indexOf() qui permet de connaître
la valeur que vous recherchez.
trace(citation.text.indexOf("André"));
Cette ligne d’instruction renverra le nombre 68, c’est-à-dire l’index à partir duquel ce mot
(sa première lettre) est rencontré.
CHAPITRE 14
339
styleTitreAccueil.letterSpacing =5;
titreAccueil.setTextFormat(styleTitreAccueil);
addChild(titreAccueil);
Nous vous conseillons de consulter le dernier développement intitulé Instanciation de
classes personnalisées du chapitre 6 ; il présente la gestion de la classe TextFormat() à
travers une classe externe.
Mettre en forme une plage de caractères
Dans le texte ci-dessous, nous aimerions mettre uniquement le nom de l’auteur de cette
citation en gras.
« Un bon maître a ce souci constant : enseigner à se passer de lui. ». André GIDE.
Nous devons donc créer une instance de la classe TextFormat() et définir les valeurs des
propriétés à utiliser. Nous faisons ensuite appel à la méthode setTextFormat() de la classe
TextField() en ajoutant des paramètres que nous n’avions pas encore utilisés pour le
moment : le début et la fin de la mise en forme du texte. Tous deux s’expriment en
nombre de caractères (avec une petite différence).
citation.setTextFormat(styleAuteur,68,78);
La valeur 68 correspond au 68 e caractère depuis le début du texte contenu dans l’instance
citation, en commençant à compter à partir de 0. En revanche, le nombre 78 ne correspond
pas au nombre de caractères à mettre en forme depuis la première valeur, mais au numéro
du caractère de fin de la plage de texte à mettre en forme. Contrairement au premier paramètre, il faut compter le premier caractère de la chaîne à partir de 1. Voici un exemple
complet (un texte dynamique intitulé citation a été préalablement crée sur la scène) :
citation.text = "'Un bon maître a ce souci constant : enseigner à se passer de lui.'
➥André GIDE.";
var styleAuteur:TextFormat = new TextFormat();
styleAuteur.bold=true;
citation.setTextFormat(styleAuteur,68,78);
Vous obtenez : ’Un bon maître a ce souci constant : enseigner à se passer de lui.’
André GIDE.
Il sera parfois difficile de connaître le numéro d’index à partir duquel la mise en forme
doit commencer. Vous pourrez alors utiliser la méthode indexOf() qui permet de connaître
la valeur que vous recherchez.
trace(citation.text.indexOf("André"));
Cette ligne d’instruction renverra le nombre 68, c’est-à-dire l’index à partir duquel ce mot
(sa première lettre) est rencontré.
