Featured FLA
» Author: Bugra Ozden
» Title: Skatalog v9 - product catalog
» Description: Create your product catalog easly and publish on your website or Create your image gallery, documents list, portfolio. Fully XML Driven
» More by Bugra Ozden
Featured Site
» Posted in the Flash Kit Links section
» Title: Creative DW Image Show PRO
» Description: Creative DW Image Show PRO is a Dreamweaver extension which enables the user to create multimedia presentations. It combines the features of the popular Creative DW Image Show with the ability to add professional text effects to slides (similar to After Effects). The product is very customizable: the user can choose the duration of the transition effects, the slide motion start and end position, zoom and panning type for both images and texts.
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.