Le terme parc éolien désigne un groupe d'éoliennes situées à un emplacement et utilisées pour la production d'énergie électrique. Comparés aux effets environnementaux des sources d'énergie traditionnelles, ceux de l'énergie éolienne sont relativement mineurs. L'énergie éolienne ne consomme pas de carburant et n'émet aucune pollution de l'air, contrairement aux sources d'énergie utilisant des combustibles fossiles.
Dans ce didacticiel, vous allez apprendre à créer un parc éolien virtuel à l'aide d'ActionScript 3.0..
Cet article fait partie de Blog Action Day 2009, une initiative mondiale lancée par les fondateurs d'Envato, Collis et Cyan Ta'eed, dirigée par Change.org. Blog Action Day existe pour changer la conversation sur le web pour un jour en réunissant des milliers de blogueurs autour d'un sujet important - cette année, le changement climatique. Il n'est pas trop tard pour inscrire ton blog et participer.
Nous allons récupérer la valeur renvoyée de la propriété activityLevel de la classe Microphone, puis la transmettre à la propriété de rotation d'un Turbine MovieClip créé précédemment..
Cela entraînera la rotation de nos éoliennes par rapport aux niveaux sonores captés par le microphone. Les utilisateurs pourront littéralement souffler sur leurs écrans et regarder les turbines tourner!
Ouvrez Flash et créez un nouveau fichier Flash (ActionScript 3)..
Réglez la taille de la scène sur 600x300 et la cadence sur 24 images par seconde.
Nous allons créer une illustration vectorielle simple pour contenir notre parc éolien.
Sélectionnez l'outil Rectangle (R) et créez un dégradé linéaire bleu (# 81CCFE, # D0EAFB) de la taille de la scène..
Utilisez l'outil de transformation de dégradé (F) pour faire pivoter le dégradé. Votre arrière-plan se présente ainsi:
Ce sera notre ciel.
Ajoutons maintenant de l'herbe sur laquelle nous pouvons placer nos éoliennes.
Encore une fois, sélectionnez l'outil Rectangle et créez un rectangle de dégradé linéaire vert de 600x30 px (# 9AB937, # AFC232, # 9AB937) et alignez-le au bas de la scène..
Utilisez l'outil de sélection (V) pour saisir le bord supérieur du rectangle (vous remarquerez que le curseur se transforme en une flèche avec une petite courbe en bas) et faites-le glisser pour créer une légère courbe à gauche. regardez l'image suivante pour référence.
Utilisez l'outil Rectangle pour dessiner un rectangle # F7F7F7, 10x153 px et utilisez l'outil de sélection pour faire glisser les bords supérieurs en le rendant plus fin. Ce sera la base de la turbine.
Pour créer les lames, tracez un rectangle 1x90 px, puis utilisez l'outil de sélection pour faire glisser les côtés et créer un semi-ovale. Vous pouvez le voir mieux dans l'image suivante.
Dupliquez la lame (Cmd + D) et utilisez l’outil de transformation pour la faire pivoter. Répétez cette étape pour faire un total de 3 lames.
Sélectionnez l'outil Ovale, créez un cercle 20x20 px et placez-le au centre des turbines..
Ajoutez de l’ombre en dupliquant l’éolienne et en changeant sa couleur en # D0D0D0. Ensuite, allez dans Modifier> Organiser> Envoyer en arrière et déplacez la sélection de 1 pixel vers la droite..
Convertissez les pales en MovieClip et définissez son nom d'occurrence comme "turbine". Utilisez à nouveau le menu Arranger pour placer le cercle central au premier plan..
Dupliquez autant de fois que vous le souhaitez l'éolienne. N'oubliez pas de changer le nom de l'instance en fonction du nombre d'éoliennes..
Nous allons ajouter des informations sur les éoliennes ainsi que le titre du Blog Action Day.
Sélectionnez l'outil Texte (T) et créez un nouveau TextField statique. Ajoutez le titre et les informations et utilisez le filtre suivant.
OK, c'est la partie graphique terminée. Ça devrait ressembler à ça:
Créez un nouveau fichier ActionScript (Cmd + N) et enregistrez-le sous le nom "Main.as"..
Ce sera la classe qui gérera l'application.
Ce sont les classes dont nous aurons besoin. Pour une description détaillée de chaque classe, veuillez vous référer à l'aide Flash (F1).
package 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;
le s'étend mot-clé définit une classe qui est une sous-classe d'une autre classe. La sous-classe hérite de toutes les méthodes, propriétés et fonctions, ainsi nous pouvons les utiliser dans notre classe.
Classe publique WindFarm étend Sprite
Nous n'utiliserons que trois variables dans cette classe, deux déclarées dans le bloc de code suivant et une autre pour le Tween déclaré dans la fonction de rotation.
var privé lancé: Boolean; // Vrai si les turbines tournent dans une var privé: Microphone = Microphone.getMicrophone (); // Une instance de la classe de microphone
Le constructeur est une fonction qui s'exécute lorsqu'un objet est créé à partir d'une classe. Ce code est le premier à s'exécuter lorsque vous créez une instance d'un objet ou que vous l'exécutez à l'aide de la classe de document..
fonction publique WindFarm (): void Security.showSettings ("2"); // Affiche une boîte de dialogue de sécurité demandant à l'utilisateur d'activer le microphone mic.setLoopBack (true); // Renvoie le son entrant aux enceintes si (mic! = Null) // Si le micro était activé… mic.setUseEchoSuppression (true); // Réduit echo mic.addEventListener (ActivityEvent.ACTIVITY, activityHandler); // appelle la fonction activityHandler chaque fois que le microphone détecte le son
Ce code ajoute un auditeur pour exécuter la fonction de rotation qui gérera le mouvement des turbines..
fonction privée activityHandler (event: ActivityEvent): void stage.addEventListener (Event.ENTER_FRAME, rotationTurbines);
Cette fonction gère la rotation des turbines.
Fonction privée de rotation (e: Event): void / * Si le niveau d'activité reçu par le microphone est compris entre 11 et 19, et que les turbines tournent déjà, une interpolation "ralentie" est exécutée * / if (mic.activityLevel < 20 && mic.activityLevel > 10 && started) var tween; tween = new Tween (turbine, "rotation", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, vrai); tween = new Tween (turbine2, "rotation", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, vrai); tween = new Tween (turbine3, "rotation", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, vrai); tween = new Tween (turbine4, "rotation", Strong.easeOut, turbine.rotation, turbine.rotation + 720,3, vrai); tween.addEventListener (TweenEvent.MOTION_FINISH, onMotionFinish); // Appelle une fonction à l'arrêt des turbines else if (mic.activityLevel> 20) // Si le niveau d'activité est supérieur à 20, le son est suffisant pour déplacer les turbines commencé = vrai; // Les turbines sont en mouvement turbine.rotation + = mic.activityLevel; turbine2.rotation + = mic.activityLevel; turbine3.rotation + = mic.activityLevel; turbine4.rotation + = mic.activityLevel;
Ce code est exécuté lorsque l'interpolation ralentie est terminée.
fonction privée onMotionFinish (e: TweenEvent): void started = false; // les turbines ne bougent pas
Retournez au fichier .Fla et dans le panneau Propriétés, ajoutez "Principal" dans le champ Classe pour en faire la classe de document..
Vous savez maintenant comment obtenir, mesurer et mettre en œuvre l'activité du microphone, et vous en apprendrez un peu plus sur les parcs éoliens et sur leur contribution à la conservation de la planète..
Soyez vert et merci d'avoir lu!