Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   параллельная загрузка swf (http://www.flasher.ru/forum/showthread.php?t=170691)

BenderMTB 30.10.2011 19:08

параллельная загрузка swf
 
Добрый вечер.
Подскажите пожалуйста как загружать параллельно несколько внешних swf фаилов?
У меня есть главный мувик и ещё несколько мувиков внутри него (move1, move2 и т.д)

Пишу примерно следующее:

Код AS3:

var ldr:Loader = new Loader();
var urlReq:URLRequest;
 
function LoadSWF(url:String):void
                {
                        urlReq = new URLRequest(url);
                        ldr.load(urlReq);
                }
 
LoadSWF("Моя_ссылка1");
move1.addChild(ldr);
LoadSWF("Моя_ссылка2");
move2.addChild(ldr);

Но при вызове LoadSWF("Моя_ссылка2"); прерывается загрузка LoadSWF("Моя_ссылка1");. Как сделать так что бы они грузились паралельно? Ну или может как то можно назначить событие на окончание загрузки первого мувика, что бы потом начать грузить второй?

Заранее благодарю

iNils 30.10.2011 19:21

Сделать 2 загрузчика, а не один.

Inet_PC 30.10.2011 19:21

Создавайте для каждого адреса свой Loader, и будет Вам счастье.

Добавлено через 1 минуту
Или воспользуйтесь уже готовым классом, BulkLoader или LoaderMax.

alatar 30.10.2011 19:24

Цитата:

Как сделать так что бы они грузились паралельно?
Создать несколько Loader'ов
Цитата:

или может как то можно назначить событие на окончание загрузки первого мувика, что бы потом начать грузить второй?
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_completeHandler);

BenderMTB 30.10.2011 19:27

Цитата:

Сообщение от iNils (Сообщение 1042614)
Сделать 2 загрузчика, а не один.

Дело в том что мувиков не 2, а больше. И на каждом кадре их может быть по многу. Подскажите какой нить более универсальный способ.

alatar 30.10.2011 19:31

Цитата:

Сообщение от BenderMTB (Сообщение 1042619)
Подскажите какой нить более универсальный способ.

Вам уже подсказали универсальные способы.
Цитата:

Сообщение от Inet_PC (Сообщение 1042615)
Или воспользуйтесь уже готовым классом, BulkLoader или LoaderMax.


BenderMTB 30.10.2011 20:12

Чего то ничего не выходит...

Пробовал создать несколько лоадеров, следующим образом:
Код AS3:

var url:String;
var ldr:Loader;
var urlReq:URLRequest;
 
var ldr2:Loader;
var urlReq2:URLRequest;
 
url = "Ссылка1";
urlReq = new URLRequest(url);
ldr = new Loader();
ldr.load(urlReq);
move1.addChild(ldr);
 
url = "Ссылка2";
urlReq2 = new URLRequest(url);
ldr2 = new Loader();
ldr2.load(urlReq2);
move2.addChild(ldr2);

К сожалению результат прежний. Может это связанно что у каждого swf есть свой прелоадер?
Пробовал загружать последовательно вот так:
Код AS3:

var url:String;
var ldr:Loader;
var urlReq:URLRequest;
var zzz:int;
 
url = "Ссылка1";
urlReq = new URLRequest(url);
ldr = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, fun);
ldr.load(urlReq);
move1.addChild(ldr);
 
function fun(event:Event):void
                {
                        if (zzz == 0)
                                {
                                        url = "Ссылка2";
                                        urlReq = new URLRequest(url);
                                        ldr.load(urlReq);
                                        move2.addChild(ldr);
                                        zzz = 1;
                                }
                }

В таком случае, при загрузке move2.addChild(ldr), удаляется 1й swf...
Если не трудно, приведите пожалуйста пример кода. Или скиньте исходник

Заранее благодарю

Deimos747 31.10.2011 15:52

Странно, что не работает первый код, а второй будет работать так:
Код AS3:

var url:String;
var ldr:Loader;
var urlReq:URLRequest;
var zzz:int;
 
url = "Ссылка1";
urlReq = new URLRequest(url);
ldr = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, fun);
ldr.load(urlReq);
move1.addChild(ldr);
 
function fun(event:Event):void
                {
                        if (zzz == 0)
                                {
                                        url = "Ссылка2";
                                        urlReq = new URLRequest(url);
                                        ldr = new Loader();//добавляется эта строка
                                        ldr.load(urlReq);
                                        move2.addChild(ldr);
                                        zzz = 1;
                                }
                }


BenderMTB 01.11.2011 19:37

Цитата:

Странно, что не работает первый код, а второй будет работать так:
Всё равно не хочет нормально работать.
Возможно дело и не в лоадерах... Загружаемые мувики, представляют из себя анимацию, со случайно перемещающимеся кадрами. Такое ощющение что при загрузке второго мувика, в первом перестаёт отрабатывать скрипт и он крутится на одном и том же блоке кадров, который выбрался рандомом.
Буду дальше эксперементировать. Спсибо за ответы.


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

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