Taking en nærmere titt på Actionscript 3.0 Hendelseswork 
 Del 
 Del 
 Del 
 Del 
 
 Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av. 
 
 I denne opplæringen vil jeg forklare om Actionscript 3.0 Hendelseswork. Etter denne opplæringen bør du ha en klar forståelse av hvordan hendelser, event dispatchers og event lyttere fungere. 
 
 
 
 Hva har du tenkt å lære? 
 
 Fordi AS3 hendelsen rammeverket er stort, vil vi se på alle de forskjellige tingene som utgjør hendelsen rammeverket. Vi skal lære om følgende: 
 
 Arrangementer 
 
 Hendelses dispatchers 
 
 Hendelses lyttere 
 
 Hendelses flyt 
 
 Ofte brukt hendelser 
 
 Og noen tips & triks 
 
 Trinn 1: The Event Work forenklet 
 
 Jeg tror du ville ha en tøff tid å forstå hendelsen rammen hvis vi hopper rett inn i teknisk sjargong, så jeg skal først beskrive en virkelig situasjon. Hele situasjonen er en metafor for hendelsen rammeverk. Ok, så here we go: 
 
 Jeg er en ivrig leser av  Computer Arts   Ok, vi har flere ting skjer:   En hendelse er et objekt som beskriver en hendelse, i  Trinn 1   De fleste ganger vil du se en hendelse som er skrevet i en struktur som ligner på dette:   Denne kodebit består av to ting:   Arrangementet typen er faktisk en statisk konstant streng. Det høres kanskje rart ut, men en hendelse er ikke noe annet enn en streng. Prøv å kjøre dette tekstutdraget   Du får som output  mousemove   En hendelse skjer alltid et eller annet sted. Hvor hendelsen skjer er der det blir avfyrt (sendes). Røttene til utsending hendelser er i klassen EventDispatcher. Innser at der hendelsen er avsendt er der det skjer. Så hvis  filmklipp A   For å gjøre ting enkelt, har alle visningsobjekter den innebygde funksjonen  dispatchEvent (hendelse: Hendelse)   Men de fleste gangene du ikke vil ekspedere hendelser manuelt, de fleste ganger hendelser sendes automatisk. For eksempel, hvis jeg klikker filmklipp A, det vil automatisk sende hendelsen MouseEvent.CLICK   Når en bestemt hendelse skjer, vi, som Flash-utviklere, ønsker å gjøre noe for å svare på denne hendelsen. Hendelsen lyttere er hva du trenger. Hendelsen lyttere ikke har sin egen klasse, nei de er litt annerledes. Hendelsen lyttere er lagt til et objekt. Hendelsen lyttere er objekter som "lytter" til en bestemt hendelse. Når denne hendelsen skjer, deretter funksjon vil bli kalt, en  handler (funksjon)   Se på bildet nedenfor, som viser syntaksen bak funksjon  addEventListener ()   Egentlig de er ikke alle parametere i addEventListener metoden aksepterer, er det fortsatt tre som jeg ikke har nevnt. Du vil nesten aldri bruker dem, spesielt når du nettopp har begynt å bruke hendelsen lyttere. La oss igjen se på strukturen i addEventListener metoden   Så la oss diskutere de siste 3 parametre:   Ta en hendelse lytteren er like enkelt som å legge en.   Når arrangementet oppstår som en hendelse lytteren lytter etter, kaller det en funksjon. Denne funksjonen kalles  handler   Legg merke til argumentet i behandleren, er dette argumentet obligatorisk. Lytteren funksjonen har bare ett argument, og er ikke lov å ha mer. Denne hendelsen inneholder informasjon om hendelsen, vi skal snakke om dette i  trinn 9   Nå ønsker vi myMC til svare på utsendt hendelsen, så vil vi legge til en hendelse og etterpå behandleren funksjonen. Vår koden vil se ut slik:   Etterpå teste filmen  (Windows: Ctrl + Enter, Mac: Cmd + Enter)   Har du fått noen utgang.? Nei? Vel, heller ikke I. Vi skal se på hva som går galt i neste trinn   Så hva som går galt? Vel, det kan ikke være en syntaksfeil, minst  Jeg   Jeg håper du har innsett hva som er gått galt: arrangementet blir sendt før en hendelse lytteren er lagt til myMC. Så når arrangementet lytteren er lagt, det er for sent, hendelsen har skjedd. Heldigvis er det lett å løse, bare endre rekkefølgen, og først legge til hendelsen lytteren, så etterpå sende hendelsen:   Så hvorfor gjorde vi alt dette? Vel, vil du sannsynligvis oppleve dette problemet, og det kan ta en stund å innse hva som skjer. Det er bedre å vise deg problemet og lære deg hvordan å løse det   Hver handler funksjon har ett argument;. hendelsen argument. Dette argumentet inneholder data om hendelsen og hendelses sentralen. Parameteren inneholder egenskaper som vi ønsker å lese. Her er en liste over noen av de mest brukte dem:   Med dette kan vi bruke den samme behandleren for ulike typer arrangementer. Hvordan? Vel, vi skal diskutere dette i neste trinn   Ok, først la oss se på dette kodebit:   Vi bruker to hendelsene, nemlig  MouseEvent.MOUSE_DOWN Hotell og  MouseEvent.MOUSE_UP   Nå kan vi bruke i stedet for to handlere (nemlig  downHandler Hotell og  upHandler   Ok, vi har satt opp vår handler og det fungerer, men vi ønsker at våre handler om å gjøre noe konkret, avhengig av hvilken hendelse sendes til behandleren. Heldigvis, kan vi bruke  event.type   La oss nå si at et klikk skjer på en MovieClip, la oss kalle det  MCA   Arrangementet starter på øverste nivå, på  scenen   Ok, kult, men hva kan jeg bruke dette til? Fordi vi nå vet at en hendelse reiser gjennom alle foreldrene til sentralen, kan vi bruke bare  en   Ok, så la oss lage noen flere filmklipp inni hverandre. Du kan gjøre dette selv, eller bare bruke den trinn 11.fla fil gitt.   Vi vil opprette 3 filmklipp, og vi vil gi dem forekomstnavn  redMC   La oss nå begynne å skrive kode. Jeg har allerede opprettet et lag som heter  Handlinger   Vi ønsker å vite hvilken knapp som blir klikket, så hvorfor vi legge til en hendelse lytteren til container? Vel, se på bildet under:   Som du ser, arrangementet blir sendt på redMC, men det vil  boble   Nå skal vi bruke event.target, fordi event.target er hendelsen sentralen, og arrangementet sentralen er redMC. Så hvordan vi kan bruke event.target? Vi kan se etter event.target.name, som returnerer forekomsten navn som en streng. Så vi kan bare bruke normal  hvis   Nå har du en god forståelse av hendelsen rammeverk, men for å oppnå noe, er det viktigste å vite hvilke arrangement som skal brukes. Et flott sted å sjekke hvilke hendelser eksisterer, er Actionscript 3.0 Språk og komponenter Reference. Bare klikk en hendelse som inneholder klasse, som MouseEvent, og se på hva hver hendelse er   Denne hendelsen oppstår når brukeren beveger musen. Hvis du legger til en hendelse lytteren å lytte til denne hendelsen, igjen, la oss si, en MovieClip heter myMC, så du vil vite når musen beveger seg over myMC   oppstår Denne hendelsen når brukeren beveger seg over (svever). Denne hendelsen oppstår bare når brukeren flytter markøren fra et annet sted over objektet. Bevege musen over objektet er da ikke lenger tilfelle MouseEvent.MOUSE_OVER, men hendelsen MouseEvent.MOUSE_MOVE   Denne hendelsen er nettopp det motsatte av MouseEvent.MOUSE_OVER. . Dette er når brukerens markøren flyttes bort fra objektet, eller som de (gutta som skapte AS3) kaller det, av objektet   Denne hendelsen oppstår når brukeren trykker på muse ned, mens det blir holdt nede   Denne hendelsen er nettopp det motsatte av MouseEvent.MOUSE_DOWN. . Når brukeren slipper museknappen, så hendelsen MouseEvent.MOUSE_UP oppstår   Vel navnet gjør allerede det ganske klart når dette skjer. Denne hendelsen oppstår når brukeren klikker (med venstre museknapp)   Vel denne hendelsen oppstår når brukeren klikker to ganger (med venstre museknapp). Gjør oppmerksom på at når MouseEvent.DOUBLE_CLICK skjer, at MouseEvent.CLICK skjer for andre gang   Hvis du nå teste filmen og dobbeltklikk, ingenting vil skje. Hvorfor? Vel som standard filmklipp (og nesten alle skjerm objekter) har den egenskapen doubleClickEnabled satt til false. Så MouseEvent.DOUBLE_CLICK vil ikke bli sendt ut. Bare sette den til sann, og alt vil fungere fint   Denne hendelsen oppstår hver gang objektet går inn i en ny ramme (ja, det høres litt rart). Vel i utgangspunktet skjer dette arrangementet på frekvensen av bildefrekvensen. Det betyr at hvis filmen har en bildefrekvens på 30 bilder i sekundet, da arrangementet vil bli kalt 30 ganger i sekundet. Hva vil du bruke denne hendelsen for? Du kan bruke denne hendelsen til å få ting til å skje gradvis. For eksempel kan du øke objektets x koordinere med 5, på frekvensen av bildefrekvensen   oppstår Denne hendelsen når objektet er ferdig hva det gjorde. De fleste ganger du vil bruke det til ting som trenger å laste noe, eller for ting som spiller en form for media. En URLLoader laster en URLRequest, etter URLLoader fullført lasting, så får vi laste disse dataene til en annen loader og etterpå legge lasteren til scenen   Denne hendelsen oppstår når flash player eller siden der blitsen inne er endret. Du kan bruke denne hendelsen til å reposisjonere gjenstander etter resizing har skjedd   Denne hendelsen oppstår når  alle   Denne hendelsen er nettopp det motsatte av KeyboardEvent.KEY_DOWN, oppstår denne hendelsen når  alle   Selvfølgelig, det er ganske nytteløst å svare på  vilkårlig tast plakater (med unntak av en skjerm saver), så vi trenger å hente informasjon om hvilken tast er trykket. Heldigvis er noen av nøklene bygget inn i klassen KeyboardEvent, disse er booleans og er satt til true når det blir presset ned. Dette bygget i booleans er:   Så nå kan vi bruke dette til å være mer konkret hvilken tast må trykkes før vi gjør noe   Du kan lure på, ok, hva med alle de andre tastene? Vel det er noe som heter  nøkkelkode   Nå er det enklere å lagre nøkkelkodene i en variabel (eller hvis du er hardcore, i en klasse) og bare bruke den variabelen, i stedet for nøkkel koden   Med nøkkelkoder du kan få ganske mye gjort, men det noen ganger er ikke det du trenger. For eksempel er den samme tasten brukes for tegnene  en Anmeldelser og  En   Ok, dette fungerer Men trenger da må vi huske disse tegnkoder? Nei. Heldigvis kan vi bruke funksjonen charCodeAt (), som returnerer tegnet koden til en karakter (i en String). charCodeAt () tar som standard det første tegnet ut av strengen. charCodeAt (0) er det første tegnet, charCodeAt (1) den andre, etcetera   Nå kan du prøve å skrive følgende:   Prøv å teste dette, vil det ikke fungere! Hvorfor? Hvis myMC er et filmklipp, vil den ikke akseptere keyboard input, og dermed tastatur hendelser vil ikke bli sendt ut på filmklipp. Hvis du ønsker myMC å svare, legge til hendelsen lytteren til scenen og deretter gjøre myMC gjøre noe. Prøv å endre myMC fra et filmklipp til et dynamisk tekstfelt, så vil det fungere.   Hva om to dynamiske tekstfelt? Hvis brukeren taster, gjør både tekstfelt sende en hendelse? Nei, bare den ene du skriver i. Dette kalles  fokusere   Denne hendelsen er spesielt bygget for tidtakere. Det blir sendt på et tidsur, som bare nådde forsinkelsen. Dette betyr at du kan bruke denne hendelsen til å gjøre noe veldig presist, på sett tidsintervaller   Alle tidtakere har en valgfri andre parameter. Denne parameteren er sett antall gjentakelser av timeren. Dette betyr at når nedtellingen når forsinkelsestiden, vil den starte på nytt. Hvis timeren har gjentatt så ofte som antall gjentakelser, vil det sende hendelsen TimerEvent.TIMER_COMPLETE   Det var det! Jeg håper at du nå har en grundig forståelse av Actionscript 3.0 arrangement rammeverk. Innser at hendelsene som omtales er ikke alle hendelsene som finnes, jeg bare diskuterte de jeg bruker ofte. Ikke glem å alltid sjekke språket og komponenter referanse, kan det hjelpe deg mye! Det var en glede å skrive for dere! Anmeldelser
 og jeg venter hver eneste dag for den nye utgaven. Når jeg får spørsmålet, skal jeg begynne å lese den 
 
 Trinn 2:. Analysere hendelsesWork metafor 
 
 
 I motta den nye utgaven. Dette mottak av en sak er en  Hendelses 
. 
 
. 
 
 for hendelsen skal skje. Jeg er et objekt med en  hendelse lytteren 
 lagt til meg. Denne hendelsen lytteren er å lytte til en bestemt hendelse (nemlig mottatt en ny utgave). 
 
 
 Trinn 3:. Teknisk sjargong - Arrangements 
 < p> Jeg har nevnt flere ting: 
 
 Hendelses 
 
 EventDispatcher 
 
 Hendelses lytteren 
 
 behandleren /lytteren funksjon 
 
 arrangementet er ankomsten av en ny sak. 
 
 MouseEvent.CLICK 
 
  MouseEvent 
 dette er den klassen som inneholder en eller flere hendelser. Dette er alltid skrevet i Camelcase. 
 
 dette er hendelsestypen. Dette er alltid skrevet med store bokstaver. 
 
 spore (MouseEvent.MOUSE_MOVE);. 
. Vi har nettopp spores konstant MOUSE_MOVE, som er inne i MouseEvent klassen. En hendelse er en streng! Men denne strengen representerer forekomsten av (i dette eksempelet) bevegelse av musen 
 
 Trinn 4:. Teknisk sjargong - EventDispatcher 
 
 sender en hendelse, da en hendelse lytteren (event lyttere vil bli forklart i trinn 5) lagt til  filmklipp B 
 ikke ville motta denne hendelsen. Anmeldelser 
, akkurat som mange andre klasser 
 Var myMC:. MovieClip = new MovieClip (); myMC .dispatchEvent (ny hendelse (MouseEvent.CLICK)); 
 
 Trinn 5:. Teknisk sjargong - Arrangementslist 
 
. 
 
, som brukes til å legge til en hendelse lytteren: 
 
 addEventListener. (Type: String, lytteren: Funksjon, useCapture: Boolean = false, prioritet: int = 0, useWeakReference: Boolean = false): void 
 
  useCapture Bilde: Når denne parameteren er satt til sann, vil vi lytte til hendelsen i registreringsfasen. Som standard er dette parameter er satt til false, og dermed vi lytte til hendelsen i målet og boble fase. Vi vil diskutere hendelsen flyt i  Trinn 10 
 
  prioritet Bilde:. Selv om det kan virke som om alle hendelses lyttere arbeide samtidig, de faktisk ikke. Noen ganger kan de komme i konflikt med hverandre. Dette er for å sørge for at en bestemt hendelse lytteren har en høyere prioritet enn en annen hendelse lytteren 
 
  useWeakReference Bilde:. Når denne paramater er satt til true vil det skape en svak kobling mellom objektet og event lytteren. Vel, hva betyr dette? Normalt objekter komme søppel samles hvis det ikke er noen referanser til dem. Når objektet er fjernet der en hendelse lytteren er lagt, vil det fortsatt eksistere hvis det blir referert et annet sted. Dette skjer med  sterke minne referanser 
. Med  svake minne referanser 
 tilfelle lytteren blir fjernet når objektet det er lagt til blir fjernet. Jeg personlig setter denne parameteren til true (så jeg bruker svake minne referanser). 
 
 //Dette legger en hendelse lytteren til stagestage .addEventListener (MouseEvent.CLICK, clickHandler); //dette fjerner hendelsen lytteren lagt til stagestage.removeEventListener (MouseEvent.CLICK, clickHandler); 
 Trinn 6: Handler /List Funksjon 
 
 eller  lytteren funksjon 
. Se på bildet nedenfor, som viser syntaksen til behandleren: 
 
 
 Trinn 7:. Legge til en hendelse lytteren og Handler 
 
 //skaper vår myMC film clipvar myMC: MovieClip = new MovieClip (); //la myMC sende hendelsen MouseEvent.CLICKmyMC.dispatchEvent (ny hendelse (MouseEvent.CLICK)); //legge til en hendelse lytteren til myMC, som lytter til hendelsen MouseEvent.CLICK, og vil ringe clickHandlermyMC.addEventListener (MouseEvent.CLICK, clickHandler); //definere handler functionfunction clickHandler (hendelse: hendelse) {trace ("Jeg hørte hendelsen MouseEvent.CLICK ");} 
 
 
 Trinn 8:. Kode Bestill 
 
 ikke får noe. Nei, dette er teknisk sett ikke engang en feil. Se på koden igjen, men denne gangen huske at koden vil bli henrettet linje for linje: 
 //skaper vår myMC film clipvar myMC: MovieClip = new MovieClip (); //la myMC sende hendelsen MouseEvent.CLICKmyMC. dispatchEvent (ny hendelse (MouseEvent.CLICK)); //legge til en hendelse lytteren til myMC, som lytter til hendelsen MouseEvent.CLICK, og vil ringe clickHandlermyMC.addEventListener (MouseEvent.CLICK, clickHandler); //definere handler functionfunction clickHandler (hendelse: hendelse) {trace ("Jeg hørte hendelsen MouseEvent.CLICK");} 
 //skaper vår myMC film clipvar myMC: MovieClip = new MovieClip (); //legge til en hendelse lytteren til myMC , som lytter til hendelsen MouseEvent.CLICK, og vil ringe clickHandlermyMC.addEventListener (MouseEvent.CLICK, clickHandler); //la myMC sende hendelsen MouseEvent.CLICKmyMC.dispatchEvent (ny hendelse (MouseEvent.CLICK)); //definere handler functionfunction clickHandler (hendelse: hendelse) {trace ("Jeg hørte hendelsen MouseEvent.CLICK");} 
 
 Trinn 9: The Event Argument 
 
 
  target Bilde:. Dette returnerer målobjektet og dermed arrangementet sentralen om hendelsen 
 
 < b> currentTarget Bilde:. Dette returnerer tiden målrettet objekt i tilfelle flyt, vil vi snakke om hendelsen flyt i  Trinn 10 
 
  skriv Bilde: Dette vil returnere arrangementet strengen. Verdien blir alltid skrevet i Camelcase. Så MOUSE_DOWN har verdien mousedown. 
 
 
 Trinn 10:. Flere Events, One List Funksjon 
 
 stage.addEventListener ( MouseEvent.MOUSE_DOWN, downHandler); stage.addEventListener (MouseEvent.MOUSE_UP, upHandler), funksjon downHandler (event: MouseEvent) {trace ("Down");} funksjon upHandler (event: MouseEvent) {trace ("Up");} 
. Den første hendelsen er den hendelsen når musen trykker på museknappen og holder den  ned 
. Når personen utgivelser denne knappen, skjer da hendelsen MouseEvent.MOUSE_UP. Museknappen går  opp 
 etter slippe den. 
 
) bare ett handler . Fjern koden vi har skrevet og skriver følgende: 
 stage.addEventListener (MouseEvent.MOUSE_DOWN, handler); stage.addEventListener (MouseEvent.MOUSE_UP, handler), funksjon behandleren (event: MouseEvent) {trace ("Noe har skjedd ... ");} 
. La oss bruke det 
 stage.addEventListener (MouseEvent.MOUSE_DOWN, handler); stage.addEventListener (MouseEvent.MOUSE_UP, handler), funksjon behandleren (event: MouseEvent)! {If (event.type == "mousedown") {trace ("Ned"); } else {trace ("Up"); }} 
 Trinn 11: Hendelses Flow 
 
. Arrangementet betyr ikke bare bli sendt på MCA, nei, reiser tilfelle gjennom hele spilleren. Dette reiser kalles  hendelsen flyt 
, bare tenk hvordan arrangementet strømmer gjennom spilleren. 
 
, etterpå det vil gå gjennom  foreldre 
 av  MCA 
, inntil hendelsen når mfl. Etterpå arrangementet vil "boble" tilbake fra MCA, tilbake til scenen. 
 
 hendelse lytteren, for å spore hendelser av mer enn ett objekt 
 
 Trinn 12:. Multiple objekter, en hendelse List 
 
 
,  blueMC Hotell og  greenMC 
. Etterpå plassere alle disse inne en større MovieClip, heter  container 
. 
 
, så skrive koden på det laget. Først la oss legge til en hendelse lytteren til  container 
, lytte til hendelsen  MouseEvent.CLICK 
, med behandleren heter  clickHandler 
. 
 Container.addEventListener (MouseEvent. KLIKK, clickHandler), funksjon clickHandler (event: MouseEvent) {//funksjon kroppen} 
 
 tilbake til beholderen. Da arrangementet lytteren lagt til container vil høre arrangementet og vil ringe lytteren funksjon clickHandler. Det samme skjer med blueMC og greenMC. 
 
 uttalelser: 
 container.addEventListener (MouseEvent.CLICK, clickHandler), funksjon clickHandler (event: MouseEvent) {if (event.target.name == "redMC") {spore ("Red"); } If (event.target.name == "blueMC") {trace ("Blue"); } If (event.target.name == "greenMC") {trace ("Green"); }} 
 Trinn 13: Ofte brukt Hendelser 
 
 
 Trinn 14:. MouseEvent.MOUSE_MOVE 
 
 myMC.addEventListener (MouseEvent.MOUSE_MOVE, mouseMoveHandler);. Funksjon mouseMoveHandler (event: MouseEvent) {trace ("Musen beveger seg i over myMC");} 
 Trinn 15: MouseEvent.MOUSE_OVER 
 
 myMC.addEventListener (MouseEvent.MOUSE_OVER, overHandler), funksjon overHandler (event: MouseEvent). {Trace ("Du bare flyttet musen på myMC ");} 
 Trinn 16: MouseEvent.MOUSE_OUT 
 
 myMC.addEventListener (MouseEvent.MOUSE_OUT, outHandler), funksjon outHandler (event: MouseEvent) {trace ("Du har nettopp flyttet musa ut myMC");} 
 Trinn 17:. MouseEvent.MOUSE_DOWN 
 
 myMC.addEventListener (MouseEvent.MOUSE_DOWN, downHandler), funksjon downHandler (event: MouseEvent) {trace ("Den primære museknappen er trykket ned på myMC");} 
 Trinn 18: MouseEvent.MOUSE_UP 
 
 myMC.addEventListener (MouseEvent.MOUSE_UP, upHandler), funksjon upHandler (event: MouseEvent) {trace ("Den primære museknapp har blitt utgitt, mens det var svever over myMC ");} 
 Trinn 19: MouseEvent.CLICK 
 
 myMC.addEventListener (MouseEvent.CLICK, clickHandler), funksjon clickHandler (event: MouseEvent). {Trace ("Du bare klikket myMC");} 
 Trinn 20: MouseEvent.DOUBLE_CLICK 
 
 myMC.addEventListener (MouseEvent.DOUBLE_CLICK, doubleClickHandler), funksjon doubleClickHandler (event: MouseEvent). {Trace ("Du bare dobbeltklikket myMC ");} 
 myMC.addEventListener (MouseEvent.DOUBLE_CLICK, doubleClickHandler), funksjon doubleClickHandler (event: MouseEvent). {Trace ("Du bare dobbeltklikket myMC");} myMC.doubleClickEnabled = true; 
 Trinn 21: Event.ENTER_FRAME 
 
 myMC.addEventListener (Event.ENTER_FRAME, enterFrameHandler), funksjon enterFrameHandler (hendelse: Hendelse). {MyMC.x + = 5;} 
 Trinn 22: Event.COMPLETE 
 
 Var myURLRequest: URLRequest = new URLRequest ("http: //farm3.. static.flickr.com/2382/1616598266_bafebf0086_o.jpg");var myURLLoader: URLLoader = new URLLoader (myURLRequest); myURLLoader.dataFormat = URLLoaderDataFormat.BINARY; myURLLoader.addEventListener (Event.COMPLETE, completeHandler), funksjon completeHandler (event: Hendelses ) {var loader: Loader = new Loader (); loader.loadBytes (myURLLoader.data); addChild (loader);} 
 Trinn 23: Event.RESIZE 
 
 stage.addEventListener (Event.RESIZE, resizeHandler), funksjon resizeHandler (hendelse: Hendelse). {Trace ("Dimensjonene på scenen er" + stage.stageWidth + "x" + stage.stageHeight);} 
 Trinn 24: KeyboardEvent.KEY_DOWN 
 
 tast trykkes på tasten bord 
 stage.addEventListener. (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent) {trace ("Du bare trykket på en tast");} 
 Trinn 25: KeyboardEvent.KEY_UP 
 
 tasten slippes (nøkkelen går opp) 
 stage.addEventListener (KeyboardEvent.KEY_UP, keyUpHandler), funksjon keyUpHandler (event: KeyboardEvent). {trace ( "Du bare gitt ut en nøkkel");} 
 Trinn 26: Bruke den innebygde nøkkel booleans 
 
 
 KeyboardEvent.altKey er dette satt til true når alt tasten trykkes ned 
 
 KeyboardEvent.commandKey, denne er satt til true når kommandoen. tast trykkes ned (AIR only). 
 
 KeyboardEvent.controlKey, denne er satt til true når kontroll (ctrl) tasten trykkes ned (AIR only). 
 
 KeyboardEvent.ctrlKey, dette er satt til true når kontroll (ctrl) tasten trykkes ned på Windows. Men på Mac ctrl-tasten er sant når cmd-tasten trykkes. 
 
 
 stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent). {if (event.shiftKey) {trace ("Du bare trykket Shift-tasten "); }} 
 Trinn 27: Bruke nøkkelkoder 
 
. Hver tast har et visst antall; en nøkkelkode. Vi kan kontrollere nøkkelkoden på nøkkelen som utløste hendelsen. Dette gjøres med event.keyCode, som returnerer et heltall. Klikk her for en liste over viktige koder. Selv om det er for javascript, nøkkelkodene er de samme 
 stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent). {If (event.keyCode == 65) {trace ("Du bare trykket på en tast "); }} 
 Div A:. uint = 65; stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent) {if (event.keyCode == A) {trace ("Du bare trykker på en tast"); }} 
 Trinn 28: Bruke tegnkoder 
 
. Men vi vil fortsatt ønsker å skille mellom de to. Vel, bærer hendelsen tegnkoden for hendelsen sentralen 
 stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent). {Trace (event.charCode);} 
 stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent). {if (event.charCode == String (" a ".) charCodeAt ()) {trace (" Du bare trykket på små bokstaver en nøkkel "); }} 
 Trinn 29: Fokus 
 
 myMC.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler), funksjon keyDownHandler (event: KeyboardEvent) {trace ("Du bare trykket en tasten, mens du blir fokusert på myMC ");} 
 
. Tastaturet hendelser sendes av objektet som har fokus. Scenen er den eneste gjenstanden som fortsatt har fokus, mens et annet objekt også har fokus 
 
 Trinn 30:. TimerEvent.TIMER 
 
 Var myTimer: Timer = new Timer (1000, 5); myTimer.start (); myTimer.addEventListener (TimerEvent.TIMER, timerHandler. ), funksjon timerHandler (event: Timerevent) {trace ("ett sekund senere ...");} 
 Trinn 31: TimerEvent.TIMER_COMPLETE 
 
 Var myTimer: Timer = new Timer (1000, 5); myTimer.start (); myTimer.addEventListener (TimerEvent.TIMER_COMPLETE. , timerHandler), funksjon timerHandler (event: Timerevent) {trace ("Timeren har gjentatt 5 ganger");} 
 Konklusjon 
 

