I recently read an article on preloading in AS3, and though it was extremely well done and very informative, I felt the need to share something much more simple and easier to work and understand. When I first started out with actionscript 3, preloading was a huge issue. I learned new methods using the loader class and loading my main SWF into a "holder" swf file. I found this presented quite a few problems such as not being able to easily call the stage function from within my loaded SWF, having to accomidate stream errors if someone navigated away during load, etc etc. Basically something that used to be so incredibly simple in AS2 was now turning out to be a task and a half and it was one of the many reasons I initially hated Actionscript 3.

One extremely simply method used to preload in Actionscript 2 is to create a preloader Scene, make it the first scene, and add 3 frames, a progress bar and a text field. There is little bits of code placed on each frame to process the loading of the movie. On the first frame there is code to manage displaying the progress in the text field and on the progress bar. In Actionscript 2 this code would be:
var progressNum:Number = this.getBytesLoaded() / this.getBytesTotal;
myTextField.text = "Loading: " + Math.round(progressNum * 100);
myCustomProgressBar.width = progressNum * (a number representing the full width you want at 100%);

Simple enough. On the next frame you would simply have the following code to determine if the movie is ready to be shown yet:
if(this.getBytesLoaded() == this.getBytesTotal()){
     gotoAndPlay(3);
}else{
     gotoAndPlay(1);
}

Then on the third frame we would simply reserve this space to show some sort of quick animation or show an indication that the loading is complete and the movie/site is about to be displayed, before proceeding to the actual main scene. If you wish to just jump to the main scene you would simply place on this frame:
gotoAndPlay("Scene 1 Name", 1);

So, if you're familiar with Actionscript 2 you should know exactly what's going on here and you're only issue should be wanting to punch whoever made Actionscript 3 in the face for taking this sweet little method away from you and making it SUPER complex....... or did they?