package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import launcher.background.Background_Main;
    import flash.display.StageAlign;
    import flash.display.StageDisplayState;
    import flash.display.StageQuality;
    import flash.display.StageScaleMode;
    import flash.display.NativeWindow;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.display.Screen;
	import zip.ZIPResourceLoader;
	import flash.events.ProgressEvent;
	import ProgressBar;
	
	/**
	 * ...
	 * @author alekskart
	 */
	public class Main extends Sprite 
	{
		private var guiLayer:Sprite;
		public var background:Background_Main = new Background_Main();
		public var ziploader:ZIPResourceLoader = new ZIPResourceLoader();
		
		public function Main() 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
			var ziploader:ZIPResourceLoader = new ZIPResourceLoader();
		}
		
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			this.configureStage();
			this.createGUI();
		}
		
        private function setCenterPosition() : void
       {
            var appBounds:Rectangle = stage.nativeWindow.bounds;
            var screen:Screen = Screen.getScreensForRectangle(appBounds)[0];
            stage.stageWidth = 1024;
            stage.stageHeight = 670;
            stage.nativeWindow.maxSize = new Point(stage.nativeWindow.width,stage.nativeWindow.height);
            stage.nativeWindow.minSize = new Point(stage.nativeWindow.width,stage.nativeWindow.height);
            stage.nativeWindow.x = (screen.bounds.width - stage.nativeWindow.width) / 2;
            stage.nativeWindow.y = (screen.bounds.height - stage.nativeWindow.height) / 2;
        }
		
        private function configureStage() : void
        {
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.quality = StageQuality.BEST;
            stage.displayState = StageDisplayState.NORMAL;
            stage.stageWidth = 1024;
            stage.stageHeight = 670;
            this.setCenterPosition();
        }
      
		
		private function createGUI() : void
		{
			this.guiLayer = new Sprite();
			//this.guiLayer.addChild(this.background);
			//this.addChild(this.guiLayer);
			stage.addEventListener(Event.RESIZE, onResize);
			
	// Добавить прогресс бар для отображения прогресса загрузки и распаковки
	var progressBar:ProgressBar = new ProgressBar(0, 100, 0);
	progressBar.x = (stage.stageWidth - progressBar.width) / 2;
	progressBar.y = (stage.stageHeight - progressBar.height) / 2;
	addChild(progressBar);
	
	// Добавить слушателя прогресса загрузки и распаковки
	ziploader.addProgressListener(onProgressUpdate);
		}
		
private function onProgressUpdate(event:ProgressEvent):void
{
	// Обновить прогресс бар на основе прогресса загрузки и распаковки
	var progressBar:ProgressBar = getChildAt(numChildren-1) as ProgressBar;
	progressBar.setProgress(event.bytesLoaded, event.bytesTotal);
	
	// Проверить, завершена ли загрузка и распаковка
	if (event.bytesLoaded == event.bytesTotal)
	{
		// Удалить слушателя прогресса
		ziploader.removeProgressListener(onProgressUpdate);
		
		// Удалить прогресс бар
		removeChild(progressBar);
	}
}
		
        private function onResize(event:Event):void
        {

        }
	}
	
} почемау то прогресс бар не работает