Quick Tips: Hvordan bygge en bildefrekvens Counter i Action 3.0

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!



Previous:
Next Page: