Вы знакомы с временной шкалой Flash?
По умолчанию ваш SWF будет иметь один кадр. Этот фрейм содержит ваш класс Preloader.as.
Во время компиляции FD создает второй фрейм, который содержит ваш главный класс - класс, который вы хотите запустить после загрузки всего SWF.
Preloader.as содержит код, который ждет, пока все кадры не будут полностью загружены, а затем создает экземпляр класса Main.
Подробнее от http://www.flashdevelop.org/community/viewtopic.php?f=9&t=5398:
Когда вы создаете «проект AS3 с предварительным загрузчиком», FD настраивает несколько важных вещей, которыми вы должны управлять:
в Preloader.as,
Существует вызов для определения вашего основного класса:
getDefinitionByName ("{квалифицированное имя основного класса}")
в свойствах проекта,
Параметры компилятора> Дополнительные аргументы компилятора [...]
Там должен быть:
-frame start {квалифицированное имя основного класса}
Flash знает, что нужно запускать Preloader.as в первую очередь, потому что FD помещает его в первый кадр, а FD делает это, потому что класс Preloader был установлен на «Always Compile» (вы можете установить эту опцию самостоятельно, щелкнув правой кнопкой мыши на класс и выбрав «Всегда компилировать»).
Вы можете делать все, что угодно, в предварительном загрузчике, но он не будет запускать какой-либо код до тех пор, пока все необходимое для предварительного загрузчика не будет загружено. Поэтому, если вы создадите предварительный загрузчик с 3-мегабайтным файлом изображения и индикатором выполнения, индикатор выполнения ничего не изменит до тех пор, пока не будет загружено все изображение!