Blogg Handling Day: Lag en virtuell Wind Farm i Action 3

Blog Handling Day: Lag en virtuell Wind Farm i Actionscript 3
Del
Del
Del
Del

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

Begrepet vindpark refererer til en gruppe av vindturbiner på ett sted som brukes til produksjon av elektrisk kraft. Sammenlignet med de miljømessige effektene av tradisjonelle energikilder, de av vindkraft er relativt små. Vindkraft bruker ikke drivstoff og avgir ingen luftforurensning, i motsetning til fossilt brensel strømkilder.

I denne opplæringen vil du lære hvordan du oppretter en virtuell vindpark bruker Actionscript 3.0.



Dette innlegget er en del av Log Handling Day 2009, en verdensomspennende initiativ startet av Envato grunnleggere Collis og Cyan Ta'eed, nå blir drevet av Change.org. Blogg Handling Day eksisterer for å endre samtalen på nettet for en dag
ved å forene tusenvis av bloggere rundt en viktig sak - dette året, Climate Change. Det er ikke for sent å registrere bloggen din og delta

Trinn 1:. Kort oversikt

Vi kommer til å ta den returnerte verdien av activityLevel eiendommen av mikrofon klassen, deretter gi det til rotasjonen eiendommen til en tidligere opprettet Turbine MovieClip.

Dette vil resultere i våre vindturbiner roterer i forhold til lydnivåer plukket opp av mikrofonen. Brukerne vil bokstavelig talt være i stand til å blåse på sine skjermer og se turbinene spinner

Trinn 2:!. Opprette en ny Flash-fil

Åpne Flash og opprette en ny Flash-fil (Actionscript 3)

Angi scenen størrelsen til 600x300 og bildefrekvensen til 24 fps

Trinn 3:.. Bakgrunn

Vi vil lage en enkel vektor illustrasjon for å inneholde våre vindpark

Velg rektangelverktøyet (R) og lage en blå lineær gradient (# 81CCFE, # D0EAFB) rektangel av størrelsen på scenen.

Bruk Gradient Transform Tool (F) for å rotere gradient, forlater din bakgrunn ser slik ut:

Dette blir vår himmel

Trinn 4:. Grass

Nå la oss legge litt gress som vi kan plassere våre vindturbiner .

Igjen, velg rektangelverktøyet og skape en 600x30 px, grønn lineær gradient (# 9AB937, # AFC232, # 9AB937) rektangel og justere den til bunnen av scenen.

Bruk den Selection Tool (V) for å ta tak i øvre kant av rektangelet (du vil merke markøren endrer til en pil med en liten kurve i bunnen) og dra det til å gjøre en svak kurve til venstre; se på følgende bilde for referanse

Trinn 5:. Wind Turbine

Bruk rektangelverktøyet til å tegne en # F7F7F7, 10x153 px rektangel og bruke Selection Tool til å dra de beste kanter, noe som gjør det tynnere. Dette vil være i bunnen av turbinen.

For å lage bladene, tegne en 1x90 px rektangel deretter bruke Selection Tool for å dra sidene og skape en semi-oval. Du kan se dette bedre i følgende bilde.

Duplicate bladet (Cmd + D) og bruke Transform Tool til å rotere det. Gjenta dette trinnet for å gjøre totalt 3 bladene.

Velg Oval Tool, lage en 20x20 px sirkel og plassere den i midten av turbinene.

Legg til litt skygge ved å duplisere vinden turbin og endre farge til # D0D0D0. Neste gå til Endre > Ordne > Send bakover og flytte valg 1px til høyre

Trinn 6:. Farm

Konverter bladene til en MovieClip og sette eksempel navn som "turbin". Bruk Ordne menyen igjen for å bringe den midterste sirkelen til fronten.

Duplicate vindturbin så mange ganger du vil, bare husk å endre forekomsten navnet i henhold til antall turbiner.

Trinn 7: Informasjon

Vi kommer til å legge litt informasjon om vindturbiner samt Log Handling Day tittelen

Velg Text Tool (T) og opprette en ny statisk Textfield. . Legg tittelen og informasjon og bruke følgende filter.

OK, det er den grafiske delen ferdig. Det skal se slik ut:

Trinn 8:. Action

Opprett en ny Actionscript-fil (Cmd + N) og lagre den som "Main.as"

Dette vil være den klassen som vil håndtere søknaden

Trinn 9:. Må Classes

Dette er klasser som vi trenger. For en nærmere beskrivelse av hver klasse kan du se Flash hjelp (F1)
pakke {import flash.display.Sprite.; import flash.media.Microphone; import fl.transitions.Tween; import fl.transitions.easing.Strong; import fl.transitions.TweenEvent; import flash.events.Event; import flash.events.ActivityEvent; import flash.system.Security;
Trinn 10: Erklærte og Utvide Class

strekker
søkeord definerer en klasse som er en underklasse av en annen klasse. . Underklasse arver alle metoder, egenskaper og funksjoner, på den måten vi kan bruke dem i klassen vår
public class Windfarm strekker Sprite {
Trinn 11: Variabler

Vi vil bruke bare tre variabler i denne klassen, to erklærte i neste blokk med kode og en annen for Tween erklærte i rotasjon funksjon
privat Var startet. boolsk; //True hvis turbinene er rotatingprivate Var mic: Mikrofon = Microphone.getMicrophone (); //En forekomst av mikrofon Class
Trinn 12: Constructor Funksjon

Konstruktøren er en funksjon som kjøres når et objekt er opprettet fra en klasse. Denne koden er den første som skal utføres når du gjør en forekomst av et objekt eller kjøres ved hjelp av Document Class
offentlig funksjon Windfarm (). Void {Security.showSettings ("2"); //Viser en Security Dialog ber brukeren om å aktivere mikrofonen mic.setLoopBack (true); //Returnerer innspill lyden til høyttalerne hvis //Hvis mic ble aktivert ... {mic.setUseEchoSuppression (true) (mic = null!); //Reduserer ekko mic.addEventListener (ActivityEvent.ACTIVITY, activityHandler); //Henter activityHandler funksjonen hver gang mikrofonen oppdager lyd}}
Trinn 13: Aktivitet Handler

Denne koden legger en lytter til å utføre rotasjonen funksjon som vil håndtere turbinene bevegelsen
privat funksjon activityHandler (event: ActivityEvent):. void {stage.addEventListener (Event.ENTER_FRAME, rotateTurbines);}
Trinn 14: Turbiner 'Rotation
< p> Denne funksjonen tar seg av rotasjonen av turbinene
også egne rotateTurbines (e: Hendelses).: void {/* Hvis det aktivitetsnivå som mottas av mikrofonen er mellom 11 og 19, og turbinene er allerede spinne, en " tregere "tween utføres * /if (mic.activityLevel < 20 & & mic.activityLevel > 10 & & startet) {var tween; tween = new Tween (turbin, "rotasjon", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, true); tween = new Tween (turbine2, "rotasjon", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, true); tween = new Tween (turbine3, "rotasjon", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, true); tween = new Tween (turbine4, "rotasjon", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, true); tween.addEventListener (TweenEvent.MOTION_FINISH, onMotionFinish); //Calls en funksjon når turbinene stoppe} else if (mic.activityLevel > 20) //Hvis aktivitetsnivået er høyere enn 20, er nok til å flytte turbinene lyden {startet = true; //Turbiner beveger turbine.rotation + = mic.activityLevel; turbine2.rotation + = mic.activityLevel; turbine3.rotation + = mic.activityLevel; turbine4.rotation + = mic.activityLevel; }}
Trinn 15: Motion Ferdig

Denne koden kjøres når tregere tween er fullført
privat funksjon onMotionFinish (e: TweenEvent):. void {startet = false; //Turbiner er ikke flytte}
Trinn 16:. Dokument Class

Gå tilbake til FLA filen og i Properties Panel legge til "Main" i klassen feltet for å gjøre dette til dokument Class

Konklusjon

Nå vet du hvordan du kan få, måle og implementere mikrofon aktivitet, pluss at du har lært litt om vindparker og hvordan de bidrar til å bevare planeten.

Vær grønn og takk for lesing!