Quick Tips: Lag en minimalistisk SandClock Bruke Action 3

Quick Tips: Lag en minimalistisk SandClock Bruke Actionscript 3
Del
Del
3
Del

Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

Les gjennom de enkle trinnene i denne Quick Tips for å lage en minimalistisk SandClock med Actionscript.




Endelig resultat Forhåndsvisning Anmeldelser

La oss ta en titt på det endelige resultatet vi skal jobbe mot:




Trinn 1: Kort oversikt

Ved hjelp Arrays og en forhåndslagde torget MovieClip Vi vil skape en SandClock som vil bli besjelet av en Timer



Trinn 2:. Sett opp din Flash File

Launch Flash og opprette en ny Flash dokument, sette scenen størrelse til 400x250px og bildefrekvensen til 24fps




Trinn 3:. Interface


Dette er grensesnittet vi skal bruke, den firkanter i bildet faktisk en enslig blå firkant MovieClip eksportert for bruk med Actionscript, med et navn på Square
kobling. En enkel knapp som heter startknappen
vil bli brukt til å bygge og starte klokken



Trinn 4:. Action

Opprett en ny Action Class (Cmd + N) , lagre filen som Main.as Hotell og skrive følgende linjer. Les gjennom kommentarene i koden for å fullt ut forstå klassen atferd
pakke {import flash.display.Sprite.; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.MouseEvent; public class Hoved strekker Sprite {private Var clockArray: Array = [15,13,11,9,7,3,1]; //Stores antall firkanter per linje privat Var top: Array = []; //vil holde rutene på den øverste delen av sandclock private Var container: Sprite = new Sprite (); //lagrer all movieclips private Var containerCopy: Sprite = new Sprite (); //vil duplisere den øverste delen for å gjøre bunnen private Var timer: Timer = new Timer (1000); //en tidtaker henrettet hvert andre private Var teller: int = 0; //teller sekundene, som brukes for å stoppe tidtakeren offentlig funksjon main (): void {startButton.addEventListener (MouseEvent.MOUSE_UP, buildClock); //en lytter i startknappen} privat funksjon buildClock (e: MouseEvent): void {startButton.removeEventListener (MouseEvent.MOUSE_UP, buildClock); //deaktiverer knappen startButton.enabled = false; Var clockLength: int = clockArray.length; /* Dette dobbelt for blar gjennom døgnet rekke lengde og verdien av hver matrise element skape 7 linjer (lengde) av rutene med 15, 13, 11 (element verdi) og så videre * /for (var i: int = 0; i < clockLength; i ++) {for (var j: int = 0; j < clockArray [i]; j ++) {var s: Square = new Square (); Var sc: Square = new Square (); s.x = 70,5 + (s.width * j) + (1 * j) + (i * (s.width + 1)); s.y = 84,5 + (s.height + 1) * i; sc.x = s.x; sc.y = s.y; if (i > = 5) {sx = 70,5 + (s.width * j) + (1 * j) + (i * ((s.width) + 1)) + (s.width * 2 - 4); sc.x = s.x; } Container.addChild (s); containerCopy.addChild (sc); //opprette en kopi for den nederste delen top.push (s); sc.alpha = 0,2; //gjør den nederste delen halvt gjennomsiktig} addChild (container); containerCopy.x = 225; //posisjoner og roterer den nedre del containerCopy.y = 247; containerCopy.rotation = 180; addChild (containerCopy); } Timer.addEventListener (TimerEvent.TIMER, startClock); //starter tidtakeren timer.start (); } /* Denne funksjonen utfører hvert sekund, det endrer alpha av tilsvarende kvadrat for å få sand effekt. når tiden er ferdig stopper timeren og kaller en funksjon * /private funksjon startClock (e: Timerevent): void {container.getChildAt (counter) a = 0,2; containerCopy.getChildAt (counter) a = 1; teller ++; //60 sekunder if (teller > = 59) {timer.stop (); timer.removeEventListener (TimerEvent.TIMER, startClock); timeComplete (); }} Privat funksjon timeComplete (). Void {//gjør noe her}}}

Du kan justere Timer og mot
verdi å gjøre sandclock varighet større eller kortere



Trinn 5: Dokument Class

Husk å legge klassenavnet til Class
feltet i Publiser
delen av Egenskaper Anmeldelser panelet.




Konklusjon

Hvorfor ikke bruke denne SandClock å gi programmet eller spillet en fin touch?

Jeg håper du likte denne opplæringen, takk for lesing!