Wednesday, May 30, 2012

[Action Script] [AS3] how to track the lives in the game May,2012

Hi I''m learning AS3 and I'm doing a flash AS3 game for my class. I do not know how to track the lives in the game.
This is my code:

var isJumping:Boolean;
var landID:int;
var gameSpeed:int;
var lives:int;
var deathFlashTimer:Timer;
var barrelOneClips:Array;
var barrelTwoClips:Array;
var barrelThreeClips:Array;
var barrelThrowerID:int;//Store the set interval
var barrelMoverID:int;//move all teh barrels
var score:int;


function init () :void {
isJumping=false;
gameSpeed=1000;
//500 is half of a second
stage.addEventListener(KeyboardEvent.KEY_UP,onKeyR eleased);


lives=3;
lives_mc.gotoAndStop(lives+1);

barrelOneClips=new Array();
barrelTwoClips=new Array();
barrelThreeClips=new Array();

deathFlashTimer=new Timer(gameSpeed,6);
deathFlashTimer.addEventListener(TimerEvent.TIMER_ COMPLETE,loseLife);

barrelThrowerID=setInterval(trowBarrel,gameSpeed);
barrelMoverID=setInterval(moveAllBarrels,gameSpeed );

score=0;
updateScore(0);


}
init();
function onKeyReleased(e:KeyboardEvent):void{
if (!isJumping) {
switch(e.keyCode) {
case Keyboard.UP:
char_mc.gotoAndStop(char_mc.upFrame);
break;

case Keyboard.DOWN:
char_mc.gotoAndStop(char_mc.downFrame);
break;

case Keyboard.LEFT:
char_mc.gotoAndStop(char_mc.leftFrame);
break;

case Keyboard.RIGHT:
char_mc.gotoAndStop(char_mc.rightFrame);
break;

case Keyboard.SPACE:
if(char_mc.canJump){
jumpChar();
}
char_mc.frame_mcwaiter.gotoAndPlay("jump");
break;

}

}

}
function jumpChar():void{
isJumping=true;
char_mc.frame_mcwaiter.gotoAndPlay ("jump");
landID=setTimeout(landChar,gameSpeed);

}

function landChar():void{
isJumping=false;
char_mc.gotoAndStop(11);
clearTimeout(landID)
}


function resetGame(e:TimerEvent=null):void{
char_mc.gotoAndStop(1);
landChar();
//deathFlashTimer.reset();


var i:int;
var b:MovieClip;
for(i=barrelOneClips.length-1;i>0;i--){
b=barrelOneClips[i];
removeChild(b);
barrelOneClips.splice(i,1);
}

for(i=barrelTwoClips.length-1;i>0;i--){
b=barrelTwoClips[i];
removeChild(b);
barrelTwoClips.splice(i,1);
}

for(i=barrelThreeClips.length-1;i>0;i--){
b=barrelThreeClips[i];

if(b.currentFrame==b.totalFrames){
removeChild(b);
barrelThreeClips.splice(i,1);
}
}
resumeGame();


}

function pauseGame():void{
stage.removeEventListener(KeyboardEvent.KEY_UP,onK eyReleased);
clearInterval(barrelThrowerID);
clearInterval(barrelMoverID);


}


function resumeGame():void{
stage.addEventListener(KeyboardEvent.KEY_UP,onKeyR eleased);
barrelThrowerID=setInterval(trowBarrel,gameSpeed);
barrelMoverID=setInterval(moveAllBarrels,gameSpeed );

}

function loseLife(e:TimerEvent):void {

lives--;
lives_mc.gotoAndStop(lives+1);
if (lives>0) {
resetGame();

}

}

function trowBarrel():void{

var chance:int=Math.ceil(Math.random()*2)
if (chance==1){

var which:int=Math.ceil(Math.random()*3)
var newBarrel:MovieClip;
if(which==1){
newBarrel=new Barrel1();
barrelOneClips.push(newBarrel);
newBarrel.x=241.75;
newBarrel.y=433.95;
}if(which==2){
newBarrel=new Barrel2();
barrelTwoClips.push(newBarrel);
newBarrel.x=339.75;
newBarrel.y=131.45;
}if(which==3){
newBarrel=new Barrel3();
barrelThreeClips.push(newBarrel);
newBarrel.x=663.75;
newBarrel.y=133.45;

}


addChild(newBarrel);
}


}

function moveAllBarrels():void{
var i:int;
var b:MovieClip;
for(i=barrelOneClips.length-1;i>0;i--){
b=barrelOneClips[i];
b.gotoAndStop(b.currentFrame+1);
if(b.currentFrame==b.totalFrames){
removeChild(b);
barrelOneClips.splice(i,1);
}
}
for(i=barrelTwoClips.length-1;i>0;i--){
b=barrelTwoClips[i];
b.gotoAndStop(b.currentFrame+1);
if(b.currentFrame==b.totalFrames){
removeChild(b);
barrelTwoClips.splice(i,1);
}
}
for(i=barrelThreeClips.length-1;i>0;i--){
b=barrelThreeClips[i];
b.gotoAndStop(b.currentFrame+1);
if(b.currentFrame==b.totalFrames){
removeChild(b);
barrelThreeClips.splice(i,1);
}
}
if(checkBarrelMoveHit()){
updateScore(5);
}
if(checkBarrelMoveHit()==false){
charDied();
}



}

function checkBarrelMoveHit ():Boolean{
var i:int;
var b:MovieClip;
//barrel (1)
for(i=barrelOneClips.length-1;i>0;i--){
b=barrelOneClips[i];
switch(char_mc.currentFrame){
case 4://character 1st level
if(b.currentFrame==9){
return true;
}
break;

}
}

//barrel (2)
for(i=barrelTwoClips.length-1;i>0;i--){
b=barrelTwoClips[i];
switch(char_mc.currentFrame){
case 9://character 2nd level
if(b.currentFrame==6){//chili
return true;
}
break;

}
}
//barrel (3)
for(i=barrelThreeClips.length-1;i>0;i--){
b=barrelThreeClips[i];
switch(char_mc.currentFrame){
case 10://character 3rd level
if(b.currentFrame==6){//chili
return true;
}
break;

}
}
return false;
}


function updateScore(amount:int):void{
score+=amount;
score_txt.text="SCORE: "+score;
}
function charDied():void {
deathFlashTimer.start();
}
[AS3] how to track the lives in the game

Related Post



0 comments: