Blog Action Day crea un parco eolico virtuale in ActionScript 3

Il termine parco eolico si riferisce a un gruppo di turbine eoliche in un unico luogo utilizzato per la produzione di energia elettrica. Rispetto agli effetti ambientali delle fonti energetiche tradizionali, quelli dell'energia eolica sono relativamente minori. L'energia eolica non consuma carburante e non emette inquinamento atmosferico, a differenza delle fonti di energia fossile.

In questo tutorial imparerai come creare un parco eolico virtuale utilizzando ActionScript 3.0.




Questo post fa parte del Blog Action Day 2009, un'iniziativa mondiale avviata dai fondatori di Envato Collis e Cyan Ta'eed, ora gestita da Change.org. Il Blog Action Day esiste per cambia la conversazione sul web per un giorno unendo migliaia di blogger su un tema importante - quest'anno, il cambiamento climatico. Non è troppo tardi per registrare il tuo blog e partecipare.

Passaggio 1: breve panoramica

Prendiamo il valore restituito della proprietà activityLevel della classe Microphone, quindi passiamo alla proprietà rotation di un MovieBlip di Turbine creato in precedenza.

Ciò comporterà la rotazione delle nostre pale eoliche rispetto ai livelli sonori rilevati dal microfono. Gli utenti saranno letteralmente in grado di soffiare sui loro schermi e guardare le turbine girare!

Passaggio 2: creare un nuovo file Flash

Apri Flash e crea un nuovo file Flash (ActionScript 3).

Imposta le dimensioni dello stage su 600x300 e la frequenza fotogrammi su 24 fps.

Passaggio 3: sfondo

Creeremo una semplice illustrazione vettoriale per contenere il nostro parco eolico.

Seleziona lo strumento Rettangolo (R) e crea un gradiente lineare blu (# 81CCFE, # D0EAFB) della dimensione dello stage.

Usa lo strumento Trasforma sfumatura (F) per ruotare la sfumatura, lasciando lo sfondo simile al seguente:

Questo sarà il nostro cielo.

Passaggio 4: erba

Ora aggiungiamo dell'erba su cui possiamo posizionare le nostre turbine eoliche.

Ancora una volta, seleziona lo strumento Rettangolo e crea un rettangolo con sfumatura lineare di 600x30 px, verde (# 9AB937, # AFC232, # 9AB937) e allinearlo sul fondo dello stage.

Usa lo Strumento di selezione (V) per afferrare il bordo superiore del rettangolo (noterai che il cursore si trasforma in una freccia con una piccola curva in basso) e trascinalo per fare una leggera curva a sinistra; guarda la seguente immagine come riferimento.

Passaggio 5: Turbina eolica

Usa lo strumento Rettangolo per disegnare un rettangolo # F7F7F7, 10x153 px e usa lo strumento Selezione per trascinare i bordi superiori, rendendolo più sottile. Questa sarà la base della turbina.

Per creare le lame, disegna un rettangolo 1x90 px, quindi usa lo strumento Selezione per trascinare i lati e creare un semi-ovale. Puoi vederlo meglio nell'immagine seguente.

Duplica il blade (Cmd + D) e usa lo strumento Trasforma per ruotarlo. Ripeti questo passaggio per creare un totale di 3 lame.

Seleziona lo strumento ovale, crea un cerchio di 20x20 px e posizionalo al centro delle turbine.

Aggiungi un po 'di ombra duplicando la turbina eolica e cambiando il suo colore in # D0D0D0. Successivamente vai su Modifica> Disponi> Invia indietro e sposta la selezione di 1 px a destra.

Passaggio 6: Farm

Converti i blade in MovieClip e imposta il suo nome di istanza come "turbina". Usa di nuovo il menu Disponi per portare il cerchio centrale in primo piano.

Duplica la turbina eolica quante volte vuoi, ricorda di cambiare il nome dell'istanza in base al numero di turbine.

Passaggio 7: Informazioni

Aggiungiamo alcune informazioni sulle turbine eoliche e sul titolo del Blog Action Day.

Seleziona lo strumento di testo (T) e crea un nuovo campo di testo statico. Aggiungi il titolo e le informazioni e usa il seguente filtro.

OK, questa è la parte grafica finita. Dovrebbe sembrare come questo:

Passaggio 8: ActionScript

Crea un nuovo file ActionScript (Cmd + N) e salvalo come "Main.as".

Questa sarà la classe che gestirà l'applicazione.

Passaggio 9: Classi richieste

Queste sono le classi di cui avremo bisogno. Per una descrizione dettagliata di ogni classe, fare riferimento alla guida di Flash (F1).

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

Passaggio 10: Dichiarazione ed estensione della classe

Il si estende keyword definisce una classe che è una sottoclasse di un'altra classe. La sottoclasse eredita tutti i metodi, le proprietà e le funzioni, in questo modo possiamo usarli nella nostra classe.

 la classe pubblica WindFarm estende Sprite 

Passaggio 11: variabili

Useremo solo tre variabili in questa classe, due dichiarate nel prossimo blocco di codice e un'altra per il Tween dichiarata nella funzione di rotazione.

 private var started: Boolean; // Vero se le turbine stanno ruotando private var mic: Microphone = Microphone.getMicrophone (); // Un'istanza della classe Microphone

Passaggio 12: Funzione del costruttore

Il costruttore è una funzione che viene eseguita quando un oggetto viene creato da una classe. Questo codice è il primo ad essere eseguito quando si crea un'istanza di un oggetto o si esegue utilizzando la Document Class.

 funzione pubblica WindFarm (): void Security.showSettings ("2"); // Mostra una finestra di dialogo di sicurezza che chiede all'utente di abilitare il microfono mic.setLoopBack (true); // Restituisce il suono in ingresso agli altoparlanti se (mic! = Null) // Se il microfono era abilitato ... mic.setUseEchoSuppression (true); // Riduce echo mic.addEventListener (ActivityEvent.ACTIVITY, activityHandler); // Richiama la funzione activityHandler ogni volta che il microfono rileva il suono

Passaggio 13: Activity Handler

Questo codice aggiunge un listener per eseguire la funzione di rotazione che gestirà il movimento delle turbine.

 private function activityHandler (event: ActivityEvent): void stage.addEventListener (Event.ENTER_FRAME, rotateTurbines); 

Passo 14: Rotazione delle turbine

Questa funzione gestisce la rotazione delle turbine.

 funzione privata rotateTurbines (e: Event): void / * Se il livello di attività ricevuto dal microfono è compreso tra 11 e 19 e le turbine stanno già girando, viene eseguita un'interpolazione "slow down" * / if (mic.activityLevel < 20 && mic.activityLevel > 10 && started) var tween; tween = new Tween (turbina, "rotazione", Strong.easeOut, turbina.rotazione, turbina.rotazione + 720,3, vero); tween = new Tween (turbina2, "rotazione", Strong.easeOut, turbina.rotazione, turbina.rotazione + 720,3, vero); tween = new Tween (turbina3, "rotazione", Strong.easeOut, turbina.rotazione, turbina.rotazione + 720,3, vero); tween = new Tween (turbina4, "rotazione", Strong.easeOut, turbina.rotazione, turbina.rotazione + 720,3, vero); tween.addEventListener (TweenEvent.MOTION_FINISH, onMotionFinish); // Chiama una funzione quando le turbine si fermano else if (mic.activityLevel> 20) // Se il livello di attività è superiore a 20, il suono è sufficiente per spostare le turbine  iniziato = vero; // Le turbine si muovono turbina.rotation + = mic.activityLevel; turbine2.rotation + = mic.activityLevel; turbina3.rotation + = mic.activityLevel; turbine4.rotation + = mic.activityLevel; 

Step 15: Motion Finished

Questo codice viene eseguito quando l'interpolazione di rallentamento è completata.

 funzione privata onMotionFinish (e: TweenEvent): void started = false; // Turbine non si spostano

Passaggio 16: Classe documento

Torna al file .Fla e nel pannello Proprietà aggiungi "Main" nel campo Class per renderlo la Document Class.

Conclusione

Ora sai come ottenere, misurare e implementare l'attività Microphone, in più hai imparato un po 'su Wind Farms e come aiutano a conservare il pianeta.

Sii verde e grazie per la lettura!