topical media & game development
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.