Quick Tips: Hvordan bygge en bildefrekvens Counter i Actionscript 3.0 
 Del 
 Del 
 en 
 
 Del 
 
 Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av. 
 
 I denne hurtig Tips du vil lære hvordan man måler den nåværende bildefrekvens på din Flash program ved hjelp av Actionscript 3, og vise FPS på skjermen. 
 
 
 
Viktigheten av Frame Rate
 Frame Rate, eller bilder per sekund (fps), er den frekvensen som en bildeenhet produserer unike følgende bilder kalt rammer. Begrepet gjelder like godt til datagrafikk, videokameraer, filmkameraer, og motion capture-systemer 
 
 Hver ramme er et stillbilde.; vise bilder i rask rekkefølge skaper en illusjon av bevegelse. Jo flere bilder per sekund (fps), jo jevnere bevegelse vises. 
 
 Å måle fps vil gjøre deg i stand til å sjekke ytelsen på filmen eller programmet og foreta optimaliseringer hvis det er nødvendig. 
 
 Dette kan være svært nyttig når du tester et program som vil kjøre i ulike miljøer, nettleser, skrivebordet, TV boradcast eller en mobil enhet. 
 
 Med litt hjelp fra Actionscript 3, vil vi beregne bildefrekvens ved hjelp den getTimer () metoden og lage en Textfield for å vise resultatene, realtime, i Stage 
 
Trinn 1:. opprette en ny fil
 Åpne Flash og opprette en ny Flash-fil . (Actionscript 3) 
 
Trinn 2: Åpne Handlinger Panel
 Trykk Tilvalg /Alt + F9, eller gå til Vindu > Tiltak for å åpne Handlinger Panel 
 
Trinn 3: Variabler
 Vi vil bruke tre variabler, som forklart i kommentarfeltet: 
 Var starttid. Antall; //Brukes for å beregne relativ timevar framesNumber: Antall = 0; //Nåværende antall fpsvar fps: Textfield = new Textfield (); //A Textfield for å vise de faktiske fps 
Trinn 4: Hovedfunksjon
 Dette er den viktigste funksjonen til vår disken: 
 funksjon fpsCounter (): void {Starttime = getTimer (); //Får tid i millisekunder siden filmen begynte addChild (fps); //Legger til Textfield til scenen addEventListener (Event.ENTER_FRAME, checkFPS); //Legger en enterframe lytter og utfører checkFPS funksjon} 
Trinn 5: Kontroller på Enter Bruk
 Denne funksjonen beregner fps på angir rammen: 
 funksjons checkFPS (e: Hendelses) : void {var currentTime: Number = (getTimer () - Starttime) /1000; //Får tid i sekunder siden funksjonen utføres framesNumber ++; //Annonser ett til rammen telleren if (currentTime > 1) //Hvis tiden i sekunder er større enn 1 {fps.text = "FPS:" + (Math.floor ((framesNumber /currentTime) * 10,0) /10,0); //Beregner bildefrekvens og viser det i tekstfeltet Starttime = getTimer (); //Tilbake starttid framesNumber = 0; //Tilbake antall bilder}} 
Trinn 6: Ring Function
 Bruk denne eneste linje med kode for å starte den viktigste funksjonen: 
 fpsCounter (); 
< h2> Trinn 7: Full Kode
 Hele koden skal se slik ut: 
 Var Starttime: Number; Var framesNumber: Antall = 0; Var fps: Textfield = new Textfield (); funksjon fpsCounter () : void {Starttime = getTimer (); addChild (fps); addEventListener (Event.ENTER_FRAME, checkFPS);} funksjons checkFPS (e: Hendelses): void {var currentTime: Number = (getTimer () - Starttime) /1000; framesNumber ++; if (currentTime > 1) {fps.text = "FPS:" + (Math.floor ((framesNumber /currentTime) * 10,0) /10.0); Starttime = getTimer (); framesNumber = 0; }} fpsCounter (); 
Trinn 8: Dokument Class Version
 Kanskje du heller vil bruke et dokument klasse enn tidslinje koden? Følgende kodebit demonstrerer hvordan du skal gå om det. Les denne Quick Tips hvis du ikke er sikker på hvordan du nærmer deg et dokument klasse 
 pakke {import flash.display.MovieClip.; import flash.text.TextField; import flash.events.Event; import flash.utils.getTimer; public class FPSDemo strekker MovieClip {public Var Starttime: Number; offentlig Var framesNumber: Antall = 0; offentlig Var fps: Textfield = new Textfield (); offentlig funksjon FPSDemo () {fpsCounter (); } Offentlig funksjon fpsCounter (): void {Starttime = getTimer (); addChild (fps); addEventListener (Event.ENTER_FRAME, checkFPS); } Offentlig funksjon checkFPS (e: Hendelses): void {var currentTime: Number = (getTimer () - Starttime) /1000; framesNumber ++; if (currentTime > 1) {fps.text = "FPS:" + (Math.floor ((framesNumber /currentTime) * 10,0) /10.0); Starttime = getTimer (); framesNumber = 0; }}}} 
 Du kan bruke denne klassen å bygge inn en FPS telleren inne ethvert prosjekt som så: 
 Var fpsDemo: FPSDemo = new FPSDemo (); addChild (fpsDemo); 
 Bare kopier det hele inn i en nye AS-fil og lagre den som "FPSDemo.as", så du kan bruke den når du vil. 
 
 Konklusjon 
 
 Dette er en grunnleggende eksempel på hvordan du kan bruke en bildefrekvens tellerfunksjon . Har en gå, eksperimentere og bruke det i egne prosjekter. 
 
 Takk for lesing! 

