Показать сообщение отдельно
Старый 14.02.2012, 18:24
zmeevolk вне форума Посмотреть профиль Отправить личное сообщение для zmeevolk Найти все сообщения от zmeevolk
  № 1  
Ответить с цитированием
zmeevolk

Регистрация: Mar 2010
Сообщений: 44
По умолчанию Внешний прелоадер и обращение к stage

Здравствуйте,

Есть внешний прелоадер:
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	import flash.display.Loader;
 
	public class MainPreloader extends MovieClip {
		private var _preloader:Preloader;
		private var _loader:Loader;
		private var _myMovie:MovieClip;
 
		public function MainPreloader():void {
			addPreloader();
			addLoader();
		}
		private function addPreloader():void {
			_preloader = new Preloader();
			_preloader.x = stage.stageWidth/2;
			_preloader.y = stage.stage.stageHeight/2;
			addChild(_preloader);
			_preloader.gotoAndStop(1);
		}
		private function addLoader():void {
			var url:URLRequest = new URLRequest('myswf.swf');
			_loader = new Loader();
			_loader.load(url);			
			_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressLstnr);
			_loader.contentLoaderInfo.addEventListener(Event.INIT, onCompleteLstnr);
		}
		private function onCompleteLstnr(e:Event):void {
			trace("DONE!!!");
			_preloader.percent_txt = null;
			removeChild(_preloader);
			_myMovie = MovieClip(_loader.content)
			addChild(_myMovie);
 
		}
		private function progressLstnr(e:ProgressEvent):void {
			var percent:Number = e.bytesLoaded/e.bytesTotal;
			_preloader.percent_txt.text = Math.ceil(percent * 100).toString() + " %";
			_preloader.gotoAndStop(Math.ceil(percent * 100))
		}
	}
}
Если загружаемый файл обращается к стейдж, выдает ошибку. Например:
Код AS1/AS2:
stage.stageWidth
не работает, но если задать ширину вручную - все гуд. Что делать, если есть только скомпиленая swf, которая должна подгружатся?