Показать сообщение отдельно
Старый 08.09.2010, 14:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 12  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
У меня работает так:
Код AS3:
package {
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.system.ApplicationDomain;
	import flash.system.LoaderContext;
	import flash.utils.setTimeout;
 
	/**
	 * @author					etc
	 * @version					1.0
	 * @playerversion			Flash 10
	 * @langversion				3.0
	 */
	public class GameLoader extends Sprite {
 
		public function GameLoader() {
			super();
			this._loader = new Loader();
			this._domain = new ApplicationDomain(ApplicationDomain.currentDomain);
			this._loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.handler_complete);
			this._loader.load(new URLRequest('Game.swf'), new LoaderContext(false, this._domain));
		}
 
		/**
		 * @private
		 */
		private var _loader:Loader;
 
		/**
		 * @private
		 */
		private var _domain:ApplicationDomain;
 
		/**
		 * @private
		 */
		private function handler_complete(event:Event):void {
			this._loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, this.handler_complete);
			trace(this._loader.content is IGame); // true
		}
 
		/**
		 * @private
		 */
		private function unload():void {
			this._domain = null;
			this._loader.unloadAndStop(true);
			this._loader = null;
		}
	}
}
Единственное что из домена Game не пропадает, поэтому его занулять приходится, хотя помнится при такой же схеме у нас пропадал. Можно попробовать грузить в текущий.