In questo suggerimento rapido, creeremo una classe ActionScript statica e riutilizzabile che produrrà un effetto Typewriter con una sola riga. Continuare a leggere!
Divideremo una stringa definita dall'utente in una matrice e quindi aggiungeremo le lettere risultanti a a Campo di testo
uno ad uno usando il Timer
classe.
La nostra classe sarà statico
, il che significa che non ha bisogno di essere istanziato usando il nuovo
parola chiave. Per accedere a un membro di una classe statica, utilizzare il nome della classe anziché il nome di un'istanza.
Crea un nuovo file ActionScript e scrivi il seguente codice:
package import flash.text.TextField; import flash.utils.Timer; import flash.events.TimerEvent; public class class Typewriter / * Dichiara le variabili e i metodi come stat * / private var var statici: Array; // i caratteri nella stringa private static var tf: TextField; // campo di testo a cui verrà scritta la stringa private var timer: Timer; // fa una pausa tra la scrittura di ogni carattere statico privato var i: int = 0; // variabile utilizzata per contare i caratteri scritti public static function write (txt: String, txtField: TextField, time: Number): void chars = txt.split (""); // dividere la stringa in una matrice di caratteri tf = txtField; // assegna tf al campo di testo passato alla funzione timer = new Timer (time); // imposta il tempo in base al parametro timer.addEventListener (TimerEvent.TIMER, writeChar); timer.start (); // inizia a scrivere la funzione private static function 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) // controlla se la stringa è completa timer.stop (); timer.removeEventListener (TimerEvent.TIMER, writeChar); // cancella timer timer = null;
L'utilizzo non potrebbe essere più semplice - basta aggiungere il Typewriter.as
classificare la cartella del progetto e utilizzare il seguente codice:
importare Typewriter; Typewriter.write ('Text to Write', targetTextfield, 50);
È tutto, testa il tuo film e vedrai il tuo campo di testo usando l'effetto Typewriter.
Ho usato la classe in questo swf di esempio in modo da poter vedere l'effetto:
Usa questa classe per creare i tuoi effetti personali!
Grazie per aver letto. Se desideri una versione più avanzata di questo effetto da utilizzare nei tuoi progetti, dai un'occhiata a Rasmus Wriedt Larsen's Letter By Letter Animation.