Preloader Defeats The Purpose Of Itself

I have a movie with three scenes. Scene 1 is the preloader which consists of two frames. Frame 1 has the following actions:

var amountLoaded:Number = _root.getBytesLoaded() / _root.getBytesTotal();
preloader._width = amountLoaded * 200;

Frame 2 has the following actions:

if(_root.getBytesLoaded() == _root.getBytesTotal())
{
    gotoAndPlay("Intro", 1);
}

else
{
    gotoAndPlay(1);
}

I have a movieclip named preloader with an instance name of preloader that is supposed to change size depending on the amount of bytes loaded. This is your typical loading bar. My problem is, no matter what I do, it loads the entire movie before it starts the preloader. This defeats the entire purpose. I’ve tried creating a blank .swf file that simply loads the main movie, thinking that this might do it. No luck. Anyone have any ideas? May I also add that I’ve tried other implementation of this, but they all seem to do the same thing. I thought this would be the simplest form of a preloader.

P.S. I got this preloader implementation from www.gotoandlearn.com, which usually has really good tutorials, so I’m surprised this doesn’t work. Also, I’m using Flash CS3 and AS2