Извеняюсь, что сразу не выложил. Вот код:
Прелоадер:

Код AS3:
package bin
{
import flash.events.Event;
import flash.display.MovieClip;
import flash.text.TextField;
public class Preloader extends MovieClip
{
//Загружено
private var loaded:Number = 0;
//Общий вес
private var total:Number = stage.loaderInfo.bytesTotal;
//Сколько процентов загружено
private var percent:int = 0;
public function Preloader():void
{
addEventListener(Event.ENTER_FRAME, Load);
stop();
}
private function Load(event:Event):void
{
loaded = stage.loaderInfo.bytesLoaded;
percent = Math.floor(loaded / total * 100);
//Вывод в текстовый блок
status_txt.text = percent + "%";
//Прогресс-бар
progress_bar_mc.scaleX = percent / 100;
if (loaded >= total)
{
Completed();
}
}
//Завершение загрузки
private function Completed():void
{
gotoAndStop(2);
//Запускаем игру
var _game:EXE = new EXE();
addChild(_game);
removeEventListener(Event.ENTER_FRAME, Load);
}
}
}
Загружаемый класс:

Код AS3:
package bin
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
public class EXE extends Sprite
{
public static const RESOLUTION_HEITH:int = 480; //Размер поля по высоте
public static const RESOLUTION_WIDTH:int = 840; //Размер поля по ширине
public static const RESOLUTION_HEITH_HALF:int = 240; // Середина документа по высоте
public static const RESOLUTION_WIDTH_HALF:int = 420; // Середина документа по ширине
private var _game:Game_CORE;
private var _editor:Editor; //Ссылка на класс редактора уровней
private var _interface:InitInterfaceGame;
/* Ссылки для кнопок */
private var _btnEditor:SimpleButton;
private var _btnGame:SimpleButton;
public function EXE()
{
// constructor code
if(!stage)
{
addEventListener(Event.ADDED_TO_STAGE, init);//Инициализация данных игры
}
else
{
init();
}
}
public function init(event:Event = null):void
{
SWFProfiler.init(stage, this);
// Кнопка "Game"
_btnGame = new Game_btn();
_btnGame.x = RESOLUTION_WIDTH_HALF;
_btnGame.y = RESOLUTION_WIDTH_HALF - 200;
_btnGame.addEventListener(MouseEvent.CLICK, gameClick);
addChild(_btnGame);
// Кнопка "Editor"
_btnEditor = new Game_editor_btn();
_btnEditor.x = RESOLUTION_WIDTH_HALF;
_btnEditor.y = RESOLUTION_HEITH_HALF + 60;
_btnEditor.addEventListener(MouseEvent.CLICK, editorClick);
addChild(_btnEditor);
}
//Клик на кнопку "Game".
private function gameClick(event:Event):void
{
_game = new Game_CORE();
addChild(_game);
_interface = new InitInterfaceGame();
addChild(_interface);
del();
}
//Клик на кнопку "Editor".
private function editorClick(event:Event):void
{
_editor = new Editor();
addChild(_editor);
del();
}
//Удаляет кнопки.
private function del():void
{
removeChild(_btnGame);
removeChild(_btnEditor);
_btnGame.removeEventListener(MouseEvent.CLICK, gameClick);
_btnEditor.removeEventListener(MouseEvent.CLICK, editorClick);
_btnGame = null;
_btnEditor = null;
}
}
}