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

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

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

Регистрация: Nov 2009
Сообщений: 4
Question Выполнение сценариев между роликами

Здравствуйте.
У меня возник вопрос по взаимодействию классов между swf файлами. В официальной документации от Adobe написанно как в основнй swf'ке использовать классы из подгружаемой, мне хотелось бы узнать, можно ли в подгружаемой использовать переменные и классы из основной ?

Старый 29.11.2009, 14:42
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 2  
Ответить с цитированием
bicubic_bublic
Banned

Регистрация: Sep 2009
Сообщений: 231
можно

Старый 29.11.2009, 15:19
woweclv вне форума Посмотреть профиль Отправить личное сообщение для woweclv Найти все сообщения от woweclv
  № 3  
Ответить с цитированием
woweclv

Регистрация: Nov 2009
Сообщений: 4
Можно? Действительно ? Не поверю пока код не увижу Я пытался загружать swf Loader'oм и в подгружаемом вызывал getDefinition/getDefinitionByName но ничего не получалось.

Старый 29.11.2009, 15:37
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 4  
Ответить с цитированием
bicubic_bublic
Banned

Регистрация: Sep 2009
Сообщений: 231
Надо чтобы ApplicationDomain загружаемой флешки совпадал или был дочерним от ApplicationDomain загрузчика

Старый 29.11.2009, 15:46
woweclv вне форума Посмотреть профиль Отправить личное сообщение для woweclv Найти все сообщения от woweclv
  № 5  
Ответить с цитированием
woweclv

Регистрация: Nov 2009
Сообщений: 4
Ну я тестирую приложение на своём компьютере, то-есть все флеш файлы находятся в одном домене. Выдаётся ошибка что класс не найден.

Загрузчик:
Код AS3:
public class Main extends Sprite {
        private var loader:Loader;
        public var myObject: MyClass;
 
	public function Main() {
                myObject = new MyClass();
 
                loader = new Loader;
 
                context = new LoaderContext();
		context.applicationDomain = new ApplicationDomain();
 
                loader.addEventListener(Event.COMPLETE, onComplete);
		loader.load(new URLRequest("http://localhost/content.swf"), context);
	}
 
	public function onComplete(event: Event): void {
 
	}
}
Загружаемый:
Код AS3:
public class Content extends Sprite {
        public function Content() {
                // как тут получить доступ к переменной myObject ?
        }
}
Код писал по памяти, может что нитак.


Последний раз редактировалось woweclv; 29.11.2009 в 21:34.
Старый 29.11.2009, 16:02
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 6  
Ответить с цитированием
bicubic_bublic
Banned

Регистрация: Sep 2009
Сообщений: 231
Код AS3:
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
или
Код AS3:
context.applicationDomain = new ApplicationDomain(loaderInfo.applicationDomain);

Старый 29.11.2009, 17:36
woweclv вне форума Посмотреть профиль Отправить личное сообщение для woweclv Найти все сообщения от woweclv
  № 7  
Ответить с цитированием
woweclv

Регистрация: Nov 2009
Сообщений: 4
Заменил в своём коде
Код AS3:
context.applicationDomain = new ApplicationDomain();
на
Код AS3:
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
Загружаемый:
Код AS3:
public class Content extends Sprite {
        public function Content() {
                ApplicationDomain.currentDomain.getDefinition("myObject");
        }
}
Пишет "Variable myObject is not defined."

Добавлено через 4 часа 47 минут
Чтобы передать объект, решил из загрузчика вызывать метод загружаемого класса и в него передавать созданный обьект, всё работает:
Код AS3:
public function onComplete(event: Event): void {
	var m:Object = Object(loader.content);
	m.start(new Something());
}
Возник вопрос: если у подгружаемого класса конструктор :
Код AS3:
 public function Content(something: Object) { ... }
как в него передать аргумент во время загрузки через Loader ?


Последний раз редактировалось woweclv; 29.11.2009 в 23:40.
Старый 30.11.2009, 00:13
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 8  
Ответить с цитированием
bicubic_bublic
Banned

Регистрация: Sep 2009
Сообщений: 231
ну можно сделать функцию (скажем init) не обязательно конструктор и в нее и передавать myObject на событие загрузки второй флешки

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

Теги
класс загрузка

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

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


 


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


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