First time here? First time here? Newsletter Signup Newsletter
Search tutorials
Author: Yuri Demidov | Website: http://www.pixelsystem.com
Following these easy steps you will be able to have a great looking and smooth moving preloader bar in just a few minutes.

Step 1

In your movie, create a new movie object and call it "loadbar".
In the object create two layers. On the first (bottom) layer, create a thin (or wide) rectangular shape forming a load bar. Position it at coordinates x:0 y:0. The height of the bar can be anything you want, but make sure the width reflects multiples of 100 (100px, 200px and so on). 100px should be enough for a nice thin stylish bar. You can have the bar be any width, and you can experiment with that on your own once you complete this turotial and have a clear understanding of the math involved. This bar can be any color you like as it is the place-holder for the moving progress bar which will fill this space as the movie loads. My suggestion is to have a crisp outline of the bar with space inside allocated for the moving progress. You dont have to convert this shape to an object, so lets just call it placeholder in the rest of the tutorial.

Now, on the second layer, create another rectangle so that when you position it on top of the placeholder, it forms your complete progress bar as it should appear when 100% of the movie is loaded. Make sure to convert this shape into a movie. Call it "progressbar". Se the width of progressbar to 0 via it's movie properties.

Now you have a movie which contains just one frame with 2 layers. The bottom layer has the placeholder rectangle and the top layer the progressbar movie.

Step 2

Make sure that the first 2 frames of your main movie are completely empty on all layers. Create 2 new layers and call them "scripts" and "preload". Take the movie object (loadbar) and place it on the very first frame (make it a key frame) of the "preload" layer.

Now create a key frame on the first frame of the "scripts" layer, go to the actions of that first frame and enter the following code:

_root.loading = getBytesLoaded();
_root.total = getBytesTotal();
_root.incremented = 1;

If you made the width of the placeholder shape 100, leave incremented = 1, otherwise change it to reflect the width of your placeholder shape (2 if it is 200, 3 if 300 and so on).

Now create a key frame on the second frame of your movie in the "scripts" layer (this frame should be empty on all layers up till now) and add the following code to its actions:

_root.loadbar.progressbar._width=((Math.round(_root.loading/_root.total*100))*_root.incremented); if (_root.loading<_root.total) gotoAndPlay(_currentframe-1);

Now go the the "preload" layer and add a frame to it so that you have 2 frames taken by the loadbar movie on that layer. Make sure that this layer only has 2 frames and does not continue any further. Make sure that the "scripts" layer has the 3rd frame as a key frame with no code in it (or whatever code you decide to have there, except for the code we just added to the first and second frames). Its a good idea to use this "scripts" layer for whatever code you will end up having in the rest of your movie.

What you should have now in your movie is the following:

First 2 frames are taken by the script code we just added and the loadbar movie on their respective layers. All other layers of the movie (if you have any other layers) are completely empty of any code on the first 2 frames. They may contain objects as you may want something to appear on the loading screen besides the progress bar (like text for example), just make sure that you understand that the first 2 frames will keep on looping until the movie is loaded 100% at which point the movie will continue onto frame 3 and so on. The following frames (starting from frame 3) are wharever you decide to have in your movie.

Now you can play with the colors of the bar and the code if you like. What you have is a smooth progress bar which truly reflect the loading progress of your movie.

There is another way of making a bar like this. The other way is to use masks and it is used to have more complex progress animation. I will post a turorial on it soon.

Have fun and enjoy your new loading progress bar.
» Level Intermediate

Added: 2004-11-03
Rating: 5 Votes: 16
» Author
pixelsystem.com is a progressive design studio based in the U.S.
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!
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.