Search Tutorials
Step 5: Detecting a collision between the players spaceship and the enemy spaceships So what happens when an enemy spaceship collides with the players spaceship? At the moment nothing happens, it just passes through - which isn't very challenging. We are going to change things, so when the enemy collides with the player the game is over. We will add some code into the enemy1 movie clip to test if its colliding with the players spaceship and if this is true then main time line will move to a game over section. So we have two things to do: Player / enemy collision detection From the main time line select the enemy1 movie clip and open up the actions window (Window> actions). At the end of the onClipEvent (enterFrame) code, just above the last end curly bracket } type the following code
if (this.hitTest( _root.spaceship ) ){
_root.gotoAndStop ( "gameOver" );
}
This is an if statement that checks if this movie clip (i.e.: the enemy) is colliding with the spaceship (in other words - if the bounding box of this movie clip is overlapping the bounding box of the player spaceship). If this is true, then the main timeline is instructed to goto and stop at the frame labelled gameOver. Resetting after exploding Before we close the actions window for the enemy1 movie clip we need to add an extra line to the reset function we created earlier. We have set up the enemy movie clip to play an explosion
animation and stop on its empty frame 6 if it is hit by a laser. When it moves
off the left edge of the stage and is reset, it effectively becomes a new enemy
spaceship. Its the same movie clip, but for the player it seems like a new enemy
emerging from the right side of the stage. So we need to make sure that sure
that if it is was exploded that it is reset back to the first frame. All we
need to do is add the line
function reset(){
this._x=600;
this._y=random(200)+100;
enemySpeed=random(4)+1;
this.gotoAndStop(1);
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|