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 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 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); } } }