BBM.net is designed to save you time and deliver the highest quality royalty-free music for your multimedia projects. Features include: over 450 Music Loop Packages from some of the best composers in the business, our music search engine to speed your selection process, alternate music versions & bonus sounds to use for rollovers or transitions, free technical support and free consulting.
We are now going to add in a score display, some graphics
to show the enemy exploding and some collision detection code which will detect
if the players spaceship has hit an enemy spaceship.
Score Display
Close the actions window if it is still open.
On the main timeline create a new layer called score.
On this layer create a dynamic text box, you can put it anywhere on the screen.
Stretch the text box out so it is wide enough to display the score (as shown
below).
With
the text box selected click on the text options panel and set the drop down
list to dynamic text, the variable name to score,
uncheck the Selectable option and click the embed fonts button for numbers (as
shown on the right).
Now, still on the main timeline select the first frame
of the control frame and open up the actions window (Window> actions). Underneath
the existing code on this frame add the line score=0;
This simply sets up the score variable and sets it to zero at the start of the
game.
Exploding enemies!
Now we want to add in an explosion animation for the enemy
movieclip when its hit by a laser. Open the enemy movieclip in Edit mode. (Doubleclick
the enemy1 movieclip on the stage or open the enemy movie clip from the library).
At the moment you should have one layer with one frame
containing the enemy graphic. On that layer create four new keyframes and modify
the graphic to depict the enemy exploding (as shown below). Select frame six
of this layer and insert a blank keyframe (Insert> Blank key frame or F7).
Now
create a new layer (Insert> Layer) and call it control.
Select the first frame of this layer and open up the actions window for the
frame (Window> Actions). Type the following code: stop();
Now insert a blank keyframe on frame 6 of this control
layer (Select frame 6 and then Insert> Blank key frame). Select the new
blank key frame on frame 6 and open up the actions window
for the frame (Window> Actions). Type the following code: stop();
All we did was to cause the enemy movie clip to stop on
frame one and frame 6. But why?
We stop the enemy movie clip on frame one because we don't want the explosion
animation to play until the enemy is hit by a laser.
We have previously added the code to play the animation from frame 2 when the
laser collides with the enemy movie clip.
We stop the movie clip after the explosion on frame 6 because there are no graphics
on this frame. The movie clip still exists and will still keep moving across
the stage until it reaches the left hand side and is reset. However as there
are no graphics being displayed Flash wont detect collisions between the movie
clip and the spaceship or the lasers. Which makes sense, because we don't want
the enemy to collide with anything once its been blown up.