I denne Quick Tip oppretter vi en statisk, gjenbrukbar ActionScript-klasse som vil produsere en skrivemaskin-effekt med en enkelt linje. Les videre!
Vi deler en brukerdefinert streng i en matrise, og legger deretter de resulterende bokstavene til en Tekstfelt
en etter en ved hjelp av Timer
klasse.
Vår klasse vil være statisk
, noe som betyr at det ikke trenger å bli instantiated ved hjelp av ny
søkeord. For å få tilgang til et statisk klassemedlem, bruk navnet på klassen i stedet for navnet på en forekomst.
Opprett en ny ActionScript-fil og skriv følgende kode:
pakke import flash.text.TextField; importere flash.utils.Timer; importer flash.events.TimerEvent; offentlig sluttklasse Skrivemaskin / * Erklære variablene og metodene som statiske * / private statiske varianter: Array; // tegnene i strengen privat statisk var tf: TextField; // tekstfelt hvor strengen skal skrives privat statisk var timer: Timer; // pauser mellom å skrive hvert tegn privat statisk var jeg: int = 0; // variabel brukes til å telle de skrevne tegnene statisk statisk funksjon skrive (txt: String, txtField: TextField, tid: Nummer): void chars = txt.split (""); // splitt strengen i en rekke tegn tf = txtField; // tilordne tf til tekstfeltet som sendes til funksjonstimeren = ny Timer (tid); // sett tid i henhold til parameter timer.addEventListener (TimerEvent.TIMER, writeChar); timer.start (); // begynn å skrive funksjon privat statisk funksjon 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) // Sjekk om strengen er fullført timer.stop (); timer.removeEventListener (TimerEvent.TIMER, writeChar); / klare timer timer = null;
Bruken kunne ikke vært enklere - bare legg til Typewriter.as
klasse til prosjektmappen din og bruk følgende kode:
importere skrivemaskinen; Typewriter.write ('Text to Write', targetTextfield, 50);
Det er det, test filmen din, og du vil se TextField ved hjelp av skrivemaskinen.
Jeg brukte klassen i på dette eksemplet swf slik at du kan se effekten:
Bruk denne klassen til å lage dine egne effekter!
Takk for at du leser. Hvis du vil ha en mer avansert versjon av denne effekten for bruk i prosjektene dine, ta en titt på Rasmus Wriedt Larsens brev ved brev animasjon.