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

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

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

Регистрация: May 2010
Сообщений: 543
По умолчанию Отображение FlashVars в дочернем swf

Добрый вечер.

У меня возникла следующая трудность:

Есть основной рабочий swf (назовем его main.swf), так как он прилично весит, пришлось сделать прелодер (preloader.swf), который выполняет загрузку main.swf и добавление его на сцену.

Код AS3:
// preloader.swf
 
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
loader.load(new URLRequest("my_url", context));
main.swf должен работать c flashvars. Так вот отсюда вопрос: как получить в main.swf flashvars?
Код AS3:
var params:Object = stage.loaderInfo.parameters as Object;
эта строка в main swf вызывает ошибку "TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".".

Соответственно, если не использовать preloader.swf, а просто загружать main.swf, flashvars отлично передаются.

Старый 20.03.2011, 22:27
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Способ 1. Загружать main.swf в loader.swf, с URL в стиле "my_url?flashVar1=23234&flashVar2=value2"
Способ 2. сделать в главном классе main.swf функцию init(flashVars:Object) и передавать туда напрямую
Способ 3. ?


Последний раз редактировалось expl; 20.03.2011 в 22:30.
Старый 20.03.2011, 22:34
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 3  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
первый способ какой-то уж очень некрасивый, но определенно сработает, а по второму способу: я в принципе так и вышел из ситуации, но я подумал: может можно как-то в main.swf получить ссылку на stage preloader.swf

Старый 20.03.2011, 23:15
kseniya вне форума Посмотреть профиль Отправить личное сообщение для kseniya Найти все сообщения от kseniya
  № 4  
Ответить с цитированием
kseniya
 
Аватар для kseniya

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
Stage у всех общий и у main.swf и у preloader.swf
смотрите stage.loaderInfo.parameters после ADDED_TO_STAGE
Код AS3:
addEventListener(Event.ADDED_TO_STAGE, Init);
function Init(event:Event):void{
var params:Object = stage.loaderInfo.parameters as Object;
}

Старый 20.03.2011, 23:25
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 5  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
Вот именно это я и искал! Знаю, что stage у всех общий, но никак не въезжал почему тогда params = null. Нужно дождаться ADDED_TO_STAGE!
Спасибо, дорогая)


Последний раз редактировалось carrotoff; 16.06.2011 в 18:29.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
flashvars
Опции темы
Опции просмотра

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

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


 


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


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