First time here? First time here? Newsletter Signup Newsletter
Search tutorials
Author: David Doull | Website: http://www.artifactinteractive.com.au

When to stop scrolling

Now, we to need add in a whole new bit of onClipEvent code, dealing with a whole new event.

Underneath all of the clipEvent code for the spaceship (after the last } ) type the following:

onClipEvent (keyUp) {
  if (Key.getCode() == Key.RIGHT) {

This code introduces a new clipEvent, namely keyUp. This event occurs whenever the player takes their finger off a key. Its useful here because what we want is for the ground to scroll while you are holding the right arrow key down, but to stop scrolling when you take your finger off the right arrow key.

The method Key.getCode() gives the last key that was released. So the if statement see's if the last key that was released was the right key and if that's true then it sets our variable scrollStart to false.

OK, not much more to do now. All we need is to add some code so that the ground actually stops scrolling when scrollStart is false.

Close the spaceship actions window and select the mainGround movie clip.

Open up the actions window for mainGround (Window > Actions).
The current onClipEvent(enterFrame) code should be:

onClipEvent (enterFrame) {
    if (this._x<= (groundStartx-ground._width)){

Modify the code so it reads:

onClipEvent (enterFrame) {
   if (_root.spaceship.scrollStart==true){
     if (this._x<= (groundStartx-ground._width)){

All that we have done is added in an if statement so that the code to move the mainGround only happens if the variable scrollStart is true.

A Tip: The line if (_root.spaceship.scrollStart==true) could have been written as just if (_root.spaceship.scrollStart)
if statements test a condition to see if its true. Generally they test if one variable is greater than or less than or equal to some other variable. eg: if (x>y). However when testing if something is true you can simplify the code.
So if (x==true) can be written as if (x). This is a really popular programming shortcut and is used quite a lot.
Just remember that if (x) means if x is true .

Finally, set the frame rate of your flash file to 25fps. (Choose Modify > Movie and type 25 in the frames per second box). A frame rate of 25fps should make the scrolling look quite smooth.

Test your movie, you should now find that the ground scrolls when you reach a third of the way across the stage. If you want to skip all the above typing you can download the following fla in this tutorials zip file.


» Level Intermediate

Added: 2001-05-01
Rating: 9 Votes: 232
(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!


  • 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: Inocreato
» Title: RaiseTheBlocks
» Description: Raise all the blocks to win the game
Featured Sound Loops
Image for equalize

Audio Player

» Author: TomCat Carty
» Title: The Wood
» Description: Just a little game ending or it can maybe be looped. Recorders with music box and percussion to give the feel of well, I don't know, the woods? Free to use, just credit me. thank you
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: Davisigner
» Description: Hmm... what to say about this one? It's reminiscent of the closing notes of the opening music from the Three Stooges done in a church organ style with a closing cymbal crash. I'll give this one away gratis, but feel free to check out my free loops and potential upcoming license-mandated ones over in the respective part of Flashkit.