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

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

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

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Question Загрузить из одной swf другие с передачей параметров.

Доброго времени суток!
У меня такая проблема:
Есть одна свф-ка - part.swf, которая в зависимости от параметров, переданных ей через flashvars, формируется различным способом (загружает в себя различные картинки).
И есть другая свф-ка all.swf, которая должна загрузить в себя два экземпляра первой, но с различными параметрами (сама эта свф-ка тоже получает параметыр из flashvars).
Как передать параметры этим двум part.swf???
Спасибо большое!

Старый 19.05.2008, 14:00
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
swf-загрузчик (all.swf):
Код:
var clip:MovieClip = _root.createEmptyMovieClip("clip", 0);
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("part.swf", clip);
onLoadComplete = function(mc){
mc.param="parameter_takoi_to";
}
swf, который подгружается (part.swf):
Код:
trace(param);


Последний раз редактировалось alexcon314; 19.05.2008 в 22:45.
Старый 19.05.2008, 17:47
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 3  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Спасибо!
Это все работает, если загружается один экземпляр part.swf.
Если я хочу одновременно загрузить 2 экземпляра с разынми параметрами в 2 разных контейнера (clip1 и clip2), то параметры второго преписывают параметры первого.

Код:
var clip1:MovieClip = _root.createEmptyMovieClip("clip1", 0);
var clip2:MovieClip = _root.createEmptyMovieClip("clip2", 1);
clip2._y = 125;

var list1 : Object = new Object();
list1.onLoadComplete = function(mc){
   mc.parametr="value1";
}

var list2 : Object = new Object();
list2.onLoadComplete = function(mc){
   mc.parametr="value2";
}

var mcLoader1:MovieClipLoader = new MovieClipLoader();
mcLoader1.addListener(list1);
mcLoader1.loadClip("part.swf", clip1);

var mcLoader2:MovieClipLoader = new MovieClipLoader();
mcLoader2.addListener(list2);
mcLoader2.loadClip("part.swf", clip2);
Вышла из положения тем, что загружаю второй экземпляр (и присваиваю ему параметры) только после полной загрузки первого. Код получился более громоздким.


Последний раз редактировалось iNils; 19.05.2008 в 17:59. Причина: выделить код
Старый 27.05.2008, 14:56
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 4  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Еще один вопрос к той же проблеме.
Одна свф-ка (all.swf) загружает другую (part.swf). В свою очередь part.swf считывает текстовый файл и согласно ему формируется.
Я хочу получить размеры part.swf.
Но событие onLoadInit() все равно возвращет нули
В чем тут может быть загвоздка?

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
Вышла из положения тем, что загружаю второй экземпляр (и присваиваю ему параметры) только после полной загрузки первого. Код получился более громоздким.
Лучше 2000 строк кода, который работает быстро и правильно, чем 50, но криво и медленно.

Насколько я помню, onLoadInit вызывается когда начинается загрузка. А на момент начатия загрузки мы ещё не знаем, какой это клип (в т.ч. его размеры).
Так что используем onLoadComplete||onData

Старый 27.05.2008, 15:51
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Порядок такой:
onLoadStart - началась загрузка
onLoadComplete - загрузка завершилась
onLoadInit - загруженный клип проинициализировался (с этого момента доступны его ширина, высота и его переменные и свойства)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: May 2008
Сообщений: 476
Позвольте поправить! Доступ к свойствам клипа уже есть c onLoadComplete:

Код:
var loadListener:Object = new Object();
    loadListener.onLoadComplete = function(target_mc:MovieClip, httpStatus:Number):Void {
    target_mc._xscale = 10;
    target_mc._yscale = 10;
}

var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);

var mc:MovieClip = this.createEmptyMovieClip("mc", 2);
mc._lockroot = true;
mcLoader.loadClip("scen.swf", mc);

Старый 27.05.2008, 17:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Не позволю
_xscale и _yscale доступны еще до начала загрузки. Пример неудачный. Поставьте _width и _height и посмотрите на результат.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.05.2008, 18:09
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 9  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Да! Вы правы. Но все же строка
Цитата:
onLoadInit - загруженный клип проинициализировался (с этого момента доступны его ширина, высота и его переменные и свойства)
несовсем точна. Ведь некоторые переменные и свойства уже доступны ранее.

Старый 27.05.2008, 18:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Да нет, все верно я описал, ведь писал про загружаемый клип, но грузится, то он не в пустоту, а в мувкилип, который существует и тоже имеет методы и свойства. Только вот часть из них замещается загруженным клипом, а часть наследуется.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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