Astuce créer une classe d'effet de texte pour machine à écrire

Dans cette astuce, nous allons créer une classe ActionScript statique et réutilisable qui produira un effet Typewriter avec une seule ligne. Continuer à lire!


Étape 1: bref aperçu

Nous allons diviser une chaîne définie par l'utilisateur dans un tableau, puis ajouter les lettres résultantes à un Champ de texte un par un en utilisant le Minuteur classe.


Étape 2: Classe de machine à écrire

Notre classe sera statique, ce qui signifie qu'il n'a pas besoin d'être instancié en utilisant le Nouveau mot-clé. Pour accéder à un membre de classe statique, utilisez le nom de la classe au lieu du nom d'une instance..

Créez un nouveau fichier ActionScript et écrivez le code suivant:

 package import flash.text.TextField; import flash.utils.Timer; import flash.events.TimerEvent; public final class Typewriter / * Déclarez les variables et les méthodes en tant que static * / private static var chars: Array; // les caractères de la chaîne private static var tf: TextField; // champ de texte sur lequel la chaîne sera écrite private static var timer: Timer; // marque une pause entre chaque caractère privé static static var i: int = 0; // variable utilisée pour compter les caractères écrits fonction statique publique write (txt: String, txtField: TextField, time: Number): void chars = txt.split (""); // divise la chaîne en un tableau de caractères tf = txtField; // affecte tf au champ de texte transmis à la fonction timer = new Timer (time); // définition de l'heure en fonction du paramètre timer.addEventListener (TimerEvent.TIMER, writeChar); timer.start (); // commence à écrire fonction fonction statique privée writeChar (e: TimerEvent): void if (i < chars.length)  tf.appendText(chars[i]); //writes a char every time the function is called i++; //next char  if (i >= chars.length) // vérifie si la chaîne est complète timer.stop (); timer.removeEventListener (TimerEvent.TIMER, writeChar); // clear timer timer = null; 

Étape 3: utilisation

L'utilisation ne pourrait pas être plus facile - ajoutez simplement le Machine à écrire.as classe dans votre dossier de projet et utilisez le code suivant:

 importer une machine à écrire; Typewriter.write ('Texte à écrire', targetTextfield, 50);

Ça y est, testez votre film et vous verrez votre TextField utiliser l'effet Typewriter.


Étape 4: Exemple

J'ai utilisé la classe dans cet exemple swf pour que vous puissiez voir l'effet:


Conclusion

Utilisez cette classe pour créer vos propres effets!

Merci pour la lecture. Si vous souhaitez une version plus avancée de cet effet à utiliser dans vos projets, consultez l'animation Lettre par lettre de Rasmus Wriedt Larsen..