Ziua de acțiune a blogului Creați o fermă virtuală virtuală în ActionScript 3

Termenul de fermă eoliană se referă la un grup de turbine eoliene dintr-o locație utilizată pentru producerea de energie electrică. Comparativ cu efectele de mediu ale surselor tradiționale de energie, cele ale energiei eoliene sunt relativ mici. Energia eoliană nu consumă combustibil și nu emite poluarea aerului, spre deosebire de sursele de combustibil fosil.

În acest tutorial, veți învăța cum să creați o parc eolian virtual folosind ActionScript 3.0.




Acest post face parte din Ziua de acțiune a blogului 2009, o inițiativă la nivel mondial inițiată de fondatorii Envato, Collis și Cyan Ta'eed, care este acum condusă de Change.org. Ziua de acțiune a blogului există schimba conversația de pe web pentru o zi prin unirea a mii de bloggeri în jurul unei probleme importante - anul acesta, schimbările climatice. Nu este prea târziu să vă înregistrați blogul și să participați.

Pasul 1: Prezentare succintă

Vom lua valoarea returnată a proprietății ActivityLevel a clasei de microfon, apoi o vom transfera la proprietatea de rotație a unui turbine MovieClip creat anterior.

Acest lucru va duce la rotirea turbinelor eoliene în raport cu nivelurile de zgomot preluate de microfon. Utilizatorii vor putea literalmente să explodeze pe ecrane și să urmărească turbinele!

Pasul 2: Creați un nou fișier Flash

Deschideți Flash și creați un fișier Flash nou (ActionScript 3).

Setați dimensiunea scenei la 600x300 și viteza cadrelor la 24 fps.

Pasul 3: Contextul

Vom crea o simplă ilustrare vectorică care să conțină ferma eoliană.

Selectați instrumentul Rectangle (R) și creați un gradient liniar albastru (# 81CCFE, # D0EAFB) dreptunghi al dimensiunii scenei.

Utilizați instrumentul de transformare a gradientului (F) pentru a roti gradientul, lăsând fundalul să arate astfel:

Acesta va fi cerul nostru.

Pasul 4: Iarbă

Acum, să adăugăm câteva iarbă pe care le putem amplasa turbinele eoliene.

Din nou, selectați Instrumentul dreptunghi și creați un dreptunghi de 600x30 px, gradient liniar verde (# 9AB937, # AFC232, # 9AB937) și aliniați-l la partea de jos a scenei.

Utilizați instrumentul de selecție (V) pentru a apuca marginea superioară a dreptunghiului (veți observa schimbarea cursorului pe o săgeată cu o mică curbă în partea de jos) și trageți-o pentru a face o ușoară curbă spre stânga; uita-te la imaginea următoare pentru referință.

Pasul 5: Turbină eoliană

Utilizați instrumentul dreptunghi pentru a desena un dreptunghi # F7F7F7, 10x153 px și utilizați instrumentul de selecție pentru a trage marginile de sus, făcându-l mai subțire. Aceasta va fi baza turbinei.

Pentru a crea lame, trageți un dreptunghi de 1x90 px, apoi utilizați Instrumentul de selecție pentru a trage laturile și a crea o semi-ovală. Puteți vedea mai bine acest lucru în următoarea imagine.

Duplicați lama (Cmd + D) și utilizați instrumentul de transformare pentru al roti. Repetați acest pas pentru a realiza un total de 3 lame.

Selectați Instrumentul Oval, creați un cerc de 20x20 px și plasați-l în centrul turbinelor.

Adăugați o umbră duplicând turbina eoliană și schimbând culoarea spre # D0D0D0. Apoi mergeți la Modificare> Aranjare> Trimitere înapoi și mutați selecția 1px spre dreapta.

Pasul 6: Ferma

Conversia lamelor la un filmClip și setarea numelui de instanță ca "turbină". Utilizați din nou meniul Arrange pentru a aduce cercul de mijloc în față.

Duplicați turbinele eoliene de câte ori doriți, doar amintiți-vă să schimbați numele instanței în funcție de numărul de turbine.

Pasul 7: Informații

Vom adăuga câteva informații despre turbinele eoliene, precum și titlul Zilei de acțiune a blogului.

Selectați instrumentul Text (T) și creați un nou TextField static. Adăugați titlul și informațiile și utilizați următorul filtru.

OK, asta este partea grafică terminată. Ar trebui să arate astfel:

Pasul 8: ActionScript

Creați un nou fișier ActionScript (Cmd + N) și salvați-l ca "Main.as".

Aceasta va fi clasa care va gestiona aplicația.

Pasul 9: Clasele necesare

Acestea sunt clasele de care avem nevoie. Pentru o descriere detaliată a fiecărei clase, consultați ajutorul Flash (F1).

 pachet import flash.display.Sprite; import flash.media.Microphone; import fl.transitions.Tween; import fl.transitions.easing.Strong; import fl.transitions.TweenEvent; importul flash.events.Event; import flash.events.ActivityEvent; import flash.system.Security;

Pasul 10: Declararea și extinderea clasei

extinde cuvântul cheie definește o clasă care este o subclasă a unei alte clase. Subclasa moștenește toate metodele, proprietățile și funcțiile, astfel încât le putem folosi în clasa noastră.

 clasa publica WindFarm extinde Sprite 

Pasul 11: Variabile

Vom folosi doar trei variabile în această clasă, două declarate în următorul bloc de cod și altul pentru Tween declarat în funcția de rotire.

 var privat început: Boolean; // Adevărat dacă turbinele sunt în rotație privată: Microphone = Microphone.getMicrophone (); // O instanță a clasei de microfon

Pasul 12: Funcția Constructor

Constructorul este o funcție care rulează atunci când un obiect este creat dintr-o clasă. Acest cod este primul care se execută atunci când faceți o instanță a unui obiect sau executați utilizând Clasa de documente.

 funcția publică WindFarm (): void Security.showSettings ("2"); // Afișează un dialog de securitate solicitând utilizatorului să activeze microfonul mic.setLoopBack (true); // Returnează sunetul de intrare la difuzoare dacă (mic! = Null) // Dacă microfonul a fost activat ... mic.setUseEchoSuppression (true); // Reduce echo mic.addEventListener (ActivityEvent.ACTIVITY, activityHandler); // Apeleaza functia ActivityHandler de fiecare data cand microfonul detecteaza sunetul

Pasul 13: Operatorul de activități

Acest cod adaugă un ascultător pentru a executa funcția de rotire care va face față mișcării turbinelor.

 funcția privată a funcțieiHandler (eveniment: ActivityEvent): void stage.addEventListener (Event.ENTER_FRAME, rotateTurbines); 

Pasul 14: Rotarea turbinelor

Această funcție se ocupă de rotația turbinelor.

 funcția privată rotateTurbine (e: Eveniment): void / * Dacă nivelul de activitate recepționat de microfon este între 11 și 19 și turbinele se rotesc deja, se execută un proces de încetinire * / if (mic.activityLevel < 20 && mic.activityLevel > 10 && a început) var tween; tween = Tween nou (turbină, "rotație", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, adevărat); tween = noul Tween (turbina2, "rotație", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, adevărat); tween = noul Tween (turbine3, "rotație", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, adevărat); tween = noul Tween (turbine4, "rotație", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, adevărat); tween.addEventListener (TweenEvent.MOTION_FINISH, onMotionFinish); // Apel o funcție când turbinele opresc altceva dacă (mic.activityLevel> 20) // Dacă nivelul de activitate este mai mare de 20, sunetul este suficient pentru a muta turbinele  început = adevărat; // Turbinele se mișcă turbine.rotation + = mic.activityLevel; turbine2.ro + + mic.activityLevel; turbine3.ro + + mic.activityLevel; turbine4.rotation + = mic.activityLevel; 

Pasul 15: Mișcarea a fost terminată

Acest cod este executat când se termină procesul de încetinire.

 funcția privată onMotionFinish (e: TweenEvent): void started = false; // Turbinele nu se mișcă

Pasul 16: Clasa de documente

Reveniți la fișierul .Fla și în panoul Proprietăți adăugați "Main" în câmpul Class pentru a face acest lucru Document Class.

Concluzie

Acum știți cum să obțineți, să măsurați și să implementați activitatea microfonului, plus că ați învățat puțin despre fermele eoliene și despre modul în care acestea ajută la conservarea planetei.

Fii verde și mulțumesc pentru citire!

Cod