First time here? First time here? Newsletter Signup Newsletter
Login | Register | 651326 Members and growing! | Flash Jobs
Search tutorials
Author: David Doull | Website: http://www.artifactinteractive.com.au

Some additions to the onClipEvent(load) code

First up we are going to add two new variable definitions to the onClipEvent(load) code. Type the following two lines exactly under the line scrollStart=false; and before the }

 maxLasers=4;
 depthCounter=1;

The first line creates a variable called maxLasers and sets it equal to 4. This is the maximum number of lasers that can be on the stage. Just adjust this number if you want less or more lasers available. The second line creates a new variable called depthCounter. We use this to keep a track of what depth value to give our duplicated movie clips.


Changing the onClipEvent(enterFrame) code

We need to change the if statement that deals with duplicating the laser. Replace the line if (Key.isDown(Key.CONTROL)) {
with the following code:

if (Key.isDown(Key.CONTROL) and (laserCounter<=maxLasers)) {

Now, the laser is only duplicated if the Control key has been pressed and the laserCounter is less than or equal to maxLasers.

We also need to make a few changes to ensure that the duplicated laser movie clips have the correct depth.

Replace the lines
_root.laser.duplicateMovieClip( "laser"+laserCounter, laserCounter );

_root["laser"+laserCounter]._visible=true;

with the lines:

	_root.laser.duplicateMovieClip( "laser"+depthCounter, depthCounter );
	_root["laser"+depthCounter]._visible=true;
	depthCounter++;
	if (depthCounter>maxLasers){
		depthCounter=1;
	}

So why did we do that? We already had a variable called laserCounter which counts the number of lasers (it is increased every time a new laser is duplicated). We now also have a variable called depthCounter which keeps track of the what value to give for the depth of each duplicated laser. This variable depthCounter is increased by one when a new laser is duplicated, however when it reaches the value of maxLasers it is reset back to 1.

In flash when you duplicate a movie clip you have to give it a depth. If you give a movie clip the same depth value as another duplicated movie clip then the new movie clip will replace the old one. If we used the laserCounter for the depth we could find ourselves duplicating lasers with the same depth as lasers that are still on the stage. And so we use a separate depthCounter. The depthCounter just cycles in order through the values 1, 2, 3 and 4 while the laserCounter can be any value between 1 and 4 depending on how many lasers are on the stage.

There is now one last thing we need to do, add in the code to reduce the laserCounter by one when the laser moves of the stage.

So, close the Actions window, select the laser movie clip and open the actions window for the laser (Window > Actions).

Directly under the line if (this._x>600){ and above the this.removeMovieClip(); line add the following code.

  _root.spaceship.laserCounter--;

This code reduces the laserCounter variable by one if the laser has moved off the stage (i.e.: its x-coordinate is >600).

» Level Intermediate

Added: 2001-05-04
Rating: 9 Votes: 517
(10 being the highest)
» Author
No details available.
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!

Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.
Featured Flash FLA
» Author: work2survive
» Title: Girl Walking 1kb
» Description: Walking girl, animation just takes 1kb, using high heels shoes, and fashion model attitude.
Featured Sound Loops
Image for equalize

Audio Player

» Author: BoxCat
» Title: CPU Talk
» Description: From the cyberpunk RPG, "Nameless: the Hackers" Completely Free to use! Keywords: edm hip hop rap electronic mysterious mission hacking chase exciting spy ios ambient chilling love happy sad angry suspense
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: nathan
» Description:

A recorded sound of the Dimensional Fork Gate.