Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.03.2010, 02:53
NewFolder вне форума Посмотреть профиль Отправить личное сообщение для NewFolder Найти все сообщения от NewFolder
  № 1  
Ответить с цитированием
NewFolder
 
Аватар для NewFolder

Регистрация: Nov 2006
Сообщений: 155
По умолчанию Подгружаемый swf и общий интерфейс

Есть две swf'ки: main.swf подгружает test.swf
Они обе подключают один и тот же интерфейс ITransition
Document Class файла test.swf реализует этот интерфейс
Когда я подгружаю его в main.swf и пытаюсь конвертировать в ITransition, то получаю null
Перепробовал все варианты ApplicationDomain в LoaderContext - ничего не помогло

Main.as
Код AS1/AS2:
package {
	...
 
	import transitions.ITransition;
 
	public class Main extends Sprite {
		protected var _loader:Loader;
		protected var _transition:ITransition;
 
		protected function onSWFLoaded(e:Event = null):void {			
			initLoader();
			_loader.load(new URLRequest("test.swf"));
		}		
 
		//Once file is successfully loaded
		protected function loadComplete(e:Event):void {
			trace(_loader.content as ITransition);//Выдает null, а мне нужен объект
		}
 
		//Once load error happened
		protected function loadError(e:*):void {
			//ERROR
		}		
 
		//Destroys old object and creates new one
		protected function initLoader():void {
 
			//Destroy old loader object
			if (_loader) {
				_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
				_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
				_loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, loadError);
				_loader = null;
			}
 
			//Init the new loader
			_loader = new Loader();
			_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
			_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
			_loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadError);
		}
	}	
}
Test.as
Код AS1/AS2:
package {
	...	
	import transitions.ITransition;
 
	public class Test extends Sprite implements ITransition {
 
		//Constructor
		public function TestTransition() {
 
		}
 
		public function start():void {
			trace("Started");			
		}
 
	}
 
}
__________________
Нет ничего невозможного

Создать новую тему   Часовой пояс GMT +4, время: 23:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.