topical media & game development

talk show tell print

student-game-wakuwaku-com-waku-components-Game.ax

student-game-wakuwaku-com-waku-components-Game.ax (swf ) [ flash ] flex


  package //com.waku.components
  {
          //  import com.waku.classes.WakuSound;
          //  import com.waku.events.@fileEvents;
          
          import flash.events.MouseEvent;
          
          import mx.containers.HBox;
          import mx.containers.Panel;
          import mx.containers.VBox;
          import mx.controls.Alert;        
          
          
          public class @ax-student-game-wakuwaku-com-waku-components-Game extends Panel
          {
                  public var soundEngine : student_game_wakuwaku_com_waku_classes_WakuSound = new student_game_wakuwaku_com_waku_classes_WakuSound();        
                  private var hBox : HBox = new HBox();
                  private var miniGamesCompleted : int = 0;
                  public var animalNames : Array;
                  private var _visualTransformation : student_game_wakuwaku_com_waku_components_VisualTransformation = new student_game_wakuwaku_com_waku_components_VisualTransformation(this);
                  public function @ax-student-game-wakuwaku-com-waku-components-Game()
                  {
                          var vBox : VBox = new VBox(); 
                          
                          
                          animalNames = new Array();
                          this.title="Pick an animal!";
                          initAnimal(0,"Horse");
                          initAnimal(1,"Chicken");
                          initAnimal(2,"Cow");
                          initAnimal(3,"Sheep");
                          initAnimal(4,"Pig");
                          
                          this.addChild(hBox);        
                          
                  }        
                  
                  public function muteSound (state : Boolean):void
                  {
                          if (state == true) {
                                  soundEngine.mute();        
                          }
                          else
                          {
                                  soundEngine.unmute();
                          }
                          
                  }
          
                  private function initAnimal(animalId : int, animalName : String) : void {
                  var imageButton :student_game_wakuwaku_com_waku_components_ImageButton = new student_game_wakuwaku_com_waku_components_ImageButton();
                  
                  imageButton.animalId = animalId;
                  animalNames[animalId]=animalName;
                  imageButton.addSource("student-game-wakuwaku-com-waku-animals-0"+ animalId.toString() + "-preview.gif");
                  imageButton.addEventListener(MouseEvent.CLICK, animalEventHandler);
                  hBox.addChild(imageButton);
          } 
          
          private function animalEventHandler(event : MouseEvent) : void {
                  var object : Object;
  		object = event.currentTarget as student_game_wakuwaku_com_waku_components_ImageButton;
                  launchMiniGame(object.animalId);        
          }
          
          private function launchMiniGame(animalId : int) : void {
                  var imageButton : student_game_wakuwaku_com_waku_components_ImageButton = hBox.getChildAt(animalId) as student_game_wakuwaku_com_waku_components_ImageButton;
                  
                  var miniGame : student_game_wakuwaku_com_waku_components_MiniGame;
                  imageButton.removeEventListener(MouseEvent.CLICK, animalEventHandler);
                  imageButton.disableAnimation();
                  
                  miniGame = new student_game_wakuwaku_com_waku_components_MiniGame(animalId, animalNames[animalId],soundEngine);
                  //mini@ax-student-game-wakuwaku-com-waku-components-Game.addEventListener(student_game_wakuwaku_com_waku_events_GameEvents.MINIGAME_FINISHED, mini@fileFinished);
                  miniGame.addEventListener(student_game_wakuwaku_com_waku_events_GameEvents.MINIGAME_CLOSED, miniGameClosed);
                  
                  this.parentApplication.addChild(miniGame);
                  //this.visible=false;
          }
          
          private function miniGameClosed(event : student_game_wakuwaku_com_waku_events_GameEvents):void 
          {
                  var miniGame : student_game_wakuwaku_com_waku_components_MiniGame = event.target as student_game_wakuwaku_com_waku_components_MiniGame;
                  var imageButton : student_game_wakuwaku_com_waku_components_ImageButton;
                  miniGame.removeEventListener(student_game_wakuwaku_com_waku_events_GameEvents.MINIGAME_CLOSED, miniGameClosed);
                  imageButton = hBox.getChildAt(miniGame.animalId) as student_game_wakuwaku_com_waku_components_ImageButton;
                  if (miniGame.score == 3)
                  {
                          
                          //imageButton.removeEventListener(MouseEvent.CLICK, animalEventHandler);        
                          //imageButton.disableAnimation();
                          
                          //_visualTransformation.disabledColorTransform(imageButton);
                          _visualTransformation.fadeSome( imageButton,0.2);
                          
                          //_visualTransformation.greenGlowPlay(imageButton);
                          miniGamesCompleted++;
                          if (miniGamesCompleted == 5)
                          {
                                  gameFinished();
                                  
                          }                
                  }
                  else
                  {
                          imageButton.addEventListener(MouseEvent.CLICK, animalEventHandler);
                          imageButton.enableAnimation();
                  }
                  this.parentApplication.removeChild(miniGame);
                  
          }
          private function gameFinished():void {
                  var alert:Alert = Alert.show("Congratulations, you have completed all of the animals");
                  soundEngine.Play("student-game-wakuwaku-com-waku-sounds-gamecomplete.mp3");
          }
  
          }
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.