1 Reply Latest reply on Jul 21, 2013 4:36 AM by Ned Murphy

# Help me with my code! Vertical Shooter Game.

Okay so I am making a Vertical Shooter Game and I want to have 2 Weapons a Smaller Blue Bullet and a larger Green Bullet. When I shoot with the green bullet the enemies dont die but with the blue bullet the enemies do. Here is a chunk of the code for the blue and green bullet hitting enemies.

 enemyTime ++;//incrementing time for enemy if(enemyTime == enemyLimit){//if enough time has elapsed _root.attachMovie('mcEnemy', 'en'+enemyTotal,_root.getNextHighestDepth());//then add the enemy //setting it's coordinates _root['en'+enemyTotal]._x = int(Math.random()*Stage.width);//randomly within the boundaries _root['en'+enemyTotal]._y = -50; //sets this offstage at first _root['en'+enemyTotal].onEnterFrame = function(){//then give it some functions this._y += 5; enemyTime ++;//incrementing time for enemy if(enemyTime == enemyLimit){//if enough time has elapsed _root.attachMovie('mcEnemy2', 'en'+enemyTotal,_root.getNextHighestDepth());//then add the enemy //setting it's coordinates _root['en'+enemyTotal]._x = int(Math.random()*Stage.width);//randomly within the boundaries _root['en'+enemyTotal]._y = -50; //sets this offstage at first _root['en'+enemyTotal].onEnterFrame = function(){//then give it some functions this._y += 5; //run a loop checking if it's touching any bullets for(var cBullet:String in _root.bulletHolder){ //if it's touching the bullet //we have to use coordinates because hit testing doesn't seem to work if(this._y >= _root.bulletHolder[cBullet]._y-30 && this._y <= _root.bulletHolder[cBullet]._y){ if(this._x <= _root.bulletHolder[cBullet]._x+5 && this._x >= _root.bulletHolder[cBullet]._x -35){ //then destroy this guy this.removeMovieClip(); //and destroy the bullet _root.bulletHolder[cBullet].removeMovieClip(); //up the score _root.score += 5; } } } //hit testing with the user if(this.hitTest(_root.mcMain)){ //set the game to be over and go to lose screen gameOver = true; gotoAndStop('lose'); //and remove main mcMain.removeMovieClip(); } //checking if the game is over or it's off the stage if(gameOver || this._y > 450){ //destroy this guy if the game is over this.removeMovieClip(); }

 } enemyTime = 0;//reset the time enemyTotal ++; //add 1 more to the amount of enemies total } //updating the score text field txtScore.text = 'Score:  '+score; //run a loop checking if it's touching any bullets for(var cBullet:String in _root.bulletHolder){ //if it's touching the bullet //we have to use coordinates because hit testing doesn't seem to work if(this._y >= _root.bulletHolder[cBullet]._y-30 && this._y <= _root.bulletHolder[cBullet]._y){ if(this._x <= _root.bulletHolder[cBullet]._x+5 && this._x >= _root.bulletHolder[cBullet]._x -35){ //then destroy this guy this.removeMovieClip(); //and destroy the bullet _root.bulletHolder[cBullet].removeMovieClip(); //up the score _root.score += 5; } } } //hit testing with the user if(this.hitTest(_root.mcMain)){ //set the game to be over and go to lose screen gameOver = true; gotoAndStop('lose'); //and remove main mcMain.removeMovieClip(); } //checking if the game is over or it's off the stage if(gameOver || this._y > 450){ //destroy this guy if the game is over this.removeMovieClip(); }

 } enemyTime = 0;//reset the time enemyTotal ++; //add 1 more to the amount of enemies total } //updating the score text field txtScore.text = 'Score:  '+score; //running a 2nd loop checking if it's touching any bullets for(var cBullet2:String in _root.bulletHolder2){ //if it's touching the bullet //we have to use coordinates because hit testing doesn't seem to work if(this._y >= _root.bulletHolder2[cBullet2]._y-30 && this._y <= _root.bulletHolder2[cBullet2]._y){ if(this._x <= _root.bulletHolder2[cBullet2]._x+5 && this._x >= _root.bulletHolder2[cBullet2]._x -35){ //then destroy this guy this.removeMovieClip(); //and destroy the bullet _root.bulletHolder2[cBullet2].removeMovieClip(); //up the score _root.score += 5; } } } //hit testing with the user if(this.hitTest(_root.mcMain)){ //set the game to be over and go to lose screen gameOver = true; gotoAndStop('lose'); //and remove main mcMain.removeMovieClip(); } //checking if the game is over or it's off the stage if(gameOver || this._y > 450){ //destroy this guy if the game is over this.removeMovieClip(); }

 } enemyTime = 0;//reset the time enemyTotal ++; //add 1 more to the amount of enemies total } //updating the score text field txtScore.text = 'Score:  '+score; //run a loop checking if it's touching any bullets for(var cBullet2:String in _root.bulletHolder2){ //if it's touching the bullet //we have to use coordinates because hit testing doesn't seem to work if(this._y >= _root.bulletHolder2[cBullet2]._y-30 && this._y <= _root.bulletHolder2[cBullet2]._y){ if(this._x <= _root.bulletHolder2[cBullet2]._x+5 && this._x >= _root.bulletHolder2[cBullet2]._x -35){ //then destroy this guy this.removeMovieClip(); //and destroy the bullet _root.bulletHolder2[cBullet2].removeMovieClip(); //up the score _root.score += 5; } } } //hit testing with the user if(this.hitTest(_root.mcMain)){ //set the game to be over and go to lose screen gameOver = true; gotoAndStop('lose'); //and remove main mcMain.removeMovieClip(); } //checking if the game is over or it's off the stage if(gameOver || this._y > 450){ //destroy this guy if the game is over this.removeMovieClip(); } } enemyTime = 0;//reset the time enemyTotal ++; //add 1 more to the amount of enemies total

}

 //updating the score text field txtScore.text = 'Score:  '+score;