Lets code
So we want to write code for setting up a random start position and speed for our enemy spaceships. To do this we are going to use something called a function. If you already know about functions you can skip the next three paragraphs.
What are Functions?
Functions let you group together lines of code. Often in game programming you want the same code to be run in different parts of your game. For example, you might want to increase the players score and play an animation if they collect a bonus. You might want the exact same thing to happen if they complete a level. You could write the code for collecting the bonus and then copy and paste it to the part of the game that handles completing a level. OR you could write a function to increase the score and play the animation and call the function whenever you wanted the score increase and animation to happen. The code for a function looks like this
function scoreBonus(){
// code goes here}
This is known as defining the function - it defines what the function is called and what code makes up the function. scoreBonus is the functions name. Any code contained between the curly brackets will be run when the function is called. 'Calling a function' means running a function and is done in your code simply by typing the function name. So the code scoreBonus(); will call the function resulting in the functions code being run.
NB: Defining the function doesn't actually run the functions code. The code is only run when the function is called.
A reset function
We are going to create a function to set up the start location and speed for the enemy spaceship.
Select the enemy movie clip and open the actions window (Window > actions). Type the following code:
onClipEvent (load) {
function reset(){
this._x=600;
this._y=random(200)+100;
enemySpeed=random(4)+1;
}
reset();
}
The code does two things, it defines the function called reset and then runs this function. The code is all within a load clip event so it will be run when the movie clip first loads.
The line function reset(){ defines the reset function. The next three lines are the reset functions code.
The line this._x=600; just sets the x-coordinate of the enemy spaceship to 600 (just to the right of the stage).
The line this._y=random(200)+100; sets the y-coordinate of the enemy to a random number between 99 and 299. random is a function that is built into flash - what it does is to create a random number between zero and 'one less than the number contained within the brackets'. eg: random(3) will create a random number between 0 and 2 (either 0, 1 or 2). We add 100 to the random number to ensure that the y-coordinate isn't at the very top of the stage.
enemySpeed=random(4)+1; sets a new variable called enemySpeed to a value random between 1 and 4. This will be the number of pixels that the enemy moves per frame.
Finally the line reset(); calls the function - which runs the code we defined above.
You might wonder why we bothered to create the reset function and then to just call the function right after we defined it? We could have just written the three lines of code and left out the function definition altogether. Well in the next step you will see that we also want to call the reset function elsewhere in our code.
| » Level Intermediate |
|
Added: 2001-05-04 Rating: 9 Votes: 517 |
| » Author |
| No details available. |
| » Download |
| Download the files used in this tutorial. |
| Download (416 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


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