topical media & game development

talk show tell print

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

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


  package //com.waku.components
  {
          //import com.waku.classes.WakuSound;
          //import com.waku.events.GameEvents;
          
          import flash.events.Event;
          import flash.events.MouseEvent;
          
          import mx.containers.Canvas;
          import mx.controls.Image;
          import mx.controls.Label;
          import mx.effects.Fade;
          import mx.events.CloseEvent;
          import mx.events.EffectEvent;
          
          
          public class @ax-student-game-wakuwaku-com-waku-components-MiniGame extends Canvas
          {        
                  public var gameLabel : Label;
                  private var visualTransformation : student_game_wakuwaku_com_waku_components_VisualTransformation = new student_game_wakuwaku_com_waku_components_VisualTransformation(this);
                  private var soundEngine : student_game_wakuwaku_com_waku_classes_WakuSound;
                  public var hud : student_game_wakuwaku_com_waku_components_Hud;
                  public var animalId : int;
                  public var score : int = 0;
                  
                                          
                  public function @ax-student-game-wakuwaku-com-waku-components-MiniGame(animId:int, animalName : String, soundEngin : student_game_wakuwaku_com_waku_classes_WakuSound)
                  {
                  
                          animalId = animId;
                          hud = new student_game_wakuwaku_com_waku_components_Hud(animalId, animalName, 5, this);
                          this.addChild(hud);
                          hud.y = 10;
                          hud.addEventListener(CloseEvent.CLOSE, closeButtonHandler);
                          //var temp : Object = this.parentApplication;
                          soundEngine = soundEngin;
                          
                          soundEngine.Play("student-game-wakuwaku-com-waku-sounds-newminigame.mp3");
                          
                          visualTransformation.fadeInPlay(hud);
          
                  }
                  private function closeButtonHandler (event:Event):void {
                          var hud : student_game_wakuwaku_com_waku_components_Hud = event.currentTarget as student_game_wakuwaku_com_waku_components_Hud;
                          hud.removeEventListener(CloseEvent.CLOSE, closeButtonHandler); 
                          visualTransformation.fadeOutPlay(this);
                          visualTransformation.fadeOut.addEventListener(EffectEvent.EFFECT_END,fadeOutEndHandler);
                          
                                          
                  }
                  
                  private function fadeOutEndHandler(event : Event) : void {
                          var fadeOut : Fade = event.currentTarget as Fade;
                          fadeOut.removeEventListener(EffectEvent.EFFECT_END, fadeOutEndHandler);
                          dispatchEvent(new student_game_wakuwaku_com_waku_events_GameEvents("minigameClosed"));
                          //this.parent.removeChild(this);
                                  
                  }
                  
                  public function clickEventHandler (event: MouseEvent):void {
                          var imageButton : student_game_wakuwaku_com_waku_components_ImageButton;
                          var image : Image;
                          imageButton = event.currentTarget as student_game_wakuwaku_com_waku_components_ImageButton;
                          if (imageButton.animalId == animalId)
                          {
                                  goodChoice(imageButton);        
                                  if (score == 3)
                                  {
                                          gameOver();                
                                  }                                
                          }
                          else {
                                  wrongChoice(imageButton);
                          }                
                  }
                  private function goodChoice(imageButton: student_game_wakuwaku_com_waku_components_ImageButton):void {
                          //var alert:Alert = Alert.show("Animal =" + imageButton.animalId.toString());
                                  hud.addImageCanvas( "student-game-wakuwaku-com-waku-animals-0"+ animalId.toString() + "-item"+ imageButton.itemId +".gif", imageButton.itemId+1);
                                  score++;
                                  imageButton.removeEventListener(MouseEvent.CLICK, hud.game.clickEventHandler);
                                  imageButton.addSource("student-game-wakuwaku-com-waku-images-ok.gif");
                                  imageButton.disableAnimation();
                                  soundEngine.Play("student-game-wakuwaku-com-waku-sounds-ok.mp3");
                                  // visualTransformation.colorTransform (imageButton);                
                  }
                  
                  private function wrongChoice(imageButton : student_game_wakuwaku_com_waku_components_ImageButton):void{
                          
                          imageButton.addSource("student-game-wakuwaku-com-waku-images-wrong.gif");        
                          imageButton.disableAnimation();
                          soundEngine.Play("student-game-wakuwaku-com-waku-sounds-wrong.mp3");
                          
                  }
                  
                  private function gameOver() : void {
                          //var alert:Alert = Alert.show("Congratulations, you have completed this animal");
                          soundEngine.Play("student-game-wakuwaku-com-waku-animals-0"+ animalId.toString() + "-sound1.mp3");
                          dispatchEvent(new student_game_wakuwaku_com_waku_events_GameEvents("minigameFinished")); 
                          hud.gameOver();
                          //game.miniGameFinished(this);
                          
                  }
                  
          }
  }
  


(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.