Does the actionscript preloader have to extend MovieClip?
...
public class Preloader extends MovieClip
{
public function Preloader()
{
if (stage) {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
}
addEventListener(Event.ENTER_FRAME, checkFrame);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
// TODO show loader
}
...
Or can it also extend Sprite?
A preloader can only extend Sprite if it’s actually loading a separate SWF. If you make an SWF with a built-in preloader, you need two frames, because Flash player loads frames sequentially, so it’s the only way you can load and display a part of your SWF, which is required for a preloader to work. And for those frames you need a MovieClip, Sprites don’t have frames.