În acest sfat rapid, vom crea o clasă statică, reutilizabilă ActionScript care va produce un efect de scris de mașină cu o singură linie. Citește mai departe!
Vom împărți un șir definit de utilizator într-o matrice și apoi vom adăuga literele care rezultă la a TextField
unul câte unul folosind Cronometrul
clasă.
Clasa noastră va fi static
, ceea ce înseamnă că nu este necesar să fie instanțiată utilizând nou
cuvinte cheie. Pentru a accesa un membru al clasei statice, utilizați numele clasei în locul numelui unei instanțe.
Creați un nou fișier ActionScript și scrieți următorul cod:
pachet import flash.text.TextField; import flash.utils.Timer; import flash.events.TimerEvent; clasa publica finala Typewriter / * Declararea variabilelor si metodelor ca statice * / private static var chars: Array; // caracterele din șirul privat static var tf: TextField; // textfield la care va fi scris stringul privat static var timer: Timer; // întrerupe între scrierea fiecărui caracter static privat var i: int = 0; // variabila folosită pentru a număra caracterele scrise funcția statică publică scrie (txt: String, txtField: TextField, time: Number): void chars = txt.split (""); // divizați șirul într-o serie de caractere tf = txtField; // atribuie tf câmpului de text transmis temporizatorului funcției = nou Cronometru (timp); // setați ora în funcție de parametrul timer.addEventListener (TimerEvent.TIMER, writeChar); timer.start (); // începe scrierea funcției funcția statică privată 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) // verificați dacă șirul este completat timer.stop (); timer.removeEventListener (TimerEvent.TIMER, writeChar); // cronometru timer = nul;
Utilizarea nu ar putea fi mai ușoară - doar adăugați Typewriter.as
clasă în dosarul proiectului și utilizați următorul cod:
import mașină de scris; Typewriter.write ("Text pentru a scrie", targetTextfield, 50);
Asta e, testați-vă filmul și veți vedea TextField-ul dvs. utilizând efectul de scris de mașină.
Am folosit clasa în acest exemplu swf pentru a putea vedea efectul:
Utilizați această clasă pentru a crea propriile efecte!
Mulțumesc că ați citit. Dacă doriți o versiune mai avansată a acestui efect pentru a fi utilizată în proiectele dvs., aruncați o privire la Letter by Letter Animation al lui Rasmus Wriedt Larsen.