ActionScript 3 – Programmation séquentielle et orientée objet
332
Empêcher la sélection d’un texte dynamique
Lorsque vous créez un texte dynamiquement, vous pouvez, par défaut, sélectionner son
contenu sur la scène. Pour éviter cela, ce qui entraînera également l’annulation du changement de curseur lors d’un survol du texte, vous devez utiliser la propriété selectable.
var titreAccueil:TextField = new TextField();
titreAccueil.text = "Yazo";
titreAccueil.selectable = false;
addChild(titreAccueil);
Veillez à ne pas commettre l’erreur d’appliquer cette propriété à un texte de saisie !
Régler le type de texte (saisie ou dynamique)
Lorsque vous créez un texte sur la scène, vous pouvez choisir entre les types dynamique,
statique et de saisie.
Rappelons qu’un texte de type dynamique permet de placer, sur la scène, une zone dans
laquelle le contenu va pouvoir être modifié avec l’ActionScript. Comme son nom l’indique, un texte de saisie donne à l’utilisateur la possibilité de saisir un texte directement
dans l’interface de votre animation. Lorsque vous proposez la saisie d’un nom, d’un
prénom, d’une adresse, d’un e-mail, etc., il s’agit d’un texte de saisie.
Par défaut, lorsque vous exécutez simplement les lignes d’instructions ci-dessous, un texte
est de type dynamic.
var titreAccueil:TextField = new TextField();
titreAccueil.text = "Yazo";
addChild(titreAccueil);
Pour changer le type d’un texte, il vous suffit tout simplement d’utiliser la propriété type
et de spécifier l’une des deux constantes suivantes :
• TextFieldType.INPUT
• TextFieldType.DYNAMIC
Vous devriez obtenir le script suivant :
var titreAccueil:TextField = new TextField();
titreAccueil.width = 200;
titreAccueil.text = "Veuillez saisir votre prénom";
addChild(titreAccueil);
titreAccueil.type = TextFieldType.INPUT;
Cacher les caractères d’un mot de passe
Pour certaines zones de texte, il est nécessaire de masquer la saisie de l’utilisateur. C’est
notamment le cas pour un mot de passe. Vous devrez alors spécifier la valeur de la
propriété displayAsPassword à true.
var titreAccueil:TextField = new TextField();
titreAccueil.border = true;
Précédent

- 360/426

Suivant