Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузчик "Все сразу" (http://www.flasher.ru/forum/showthread.php?t=114881)

enepx 12.08.2008 16:31

Загрузчик "Все сразу"
 
Привет всем.
В моей флешке используются много одинаковых внешних swf-ок. Хочется загрузить одну за один раз, а потом просто брать дубликаты. Полагаться на то, что одинаковые swf-ки кэшируются я не могу (надо брать загруженный дубликат моментально, а не через, например, 0,1с, как при кэшировании) и не хочу.
Идея такая:
Создаю класс ExternalFilesLoader, в котором Loader загружает одну swf-ку в себя. Далее нужна функция, которая бы копировала эту swf-ку и возвращала ее (например, как Loader, не важно). Далее я хочу вызывать эту функцию хоть 100 раз и что бы все подружалось моментально. Тут и есть проблема.
Код:

...
url = new URLRequest("blah-blah.swf");
_sampleLoader= new Loader();
_sampleLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
_sampleLoader.load(url);
...
public function getCopy():Loader {
  var targetClass:Class = _sampleLoader["constructor"];
  var duplicate:Loader = new targetClass();
...

Этот код создает пустой экземпляр Loader. Как вернуть просто копию?
Вообще, моя затея с моментальным возвращением дубликата внешнего файла swf верна?

mre 12.08.2008 16:38

Цитата:

> Вообще, моя затея с моментальным возвращением дубликата внешнего файла swf верна?
Конечно нет.
Зачем подгружать одно и тоже несколько раз.
Подгружаете swf один раз, затем создаете сколько угодно экземпляров включенных в нее данных.
Если конечно они отлинкованы а не просто лежат в главной timeline.

enepx 12.08.2008 16:41

Подождите, может Вы меня не так поняли.
Я и хочу загрузить swf-ку только один раз, т.е. я даже хочу загрузить все внешние swf-ки, используемые в главной флешке один раз, а потом просто брать дубликаты без всяких подгрузок.
Вот и все. И никакой главной таймлайн я не использую (пишу даже не в Flash IDE).

mre 12.08.2008 16:52

Ну так и загружайте один раз.
А что у Вас в этих swf?
Цитата:

> пишу даже не в Flash IDE
А в чем?

enepx 12.08.2008 16:55

Цитата:

Сообщение от mre (Сообщение 757705)
Ну так и загружайте один раз.
А что у Вас в этих swf?

У меня флешка, у нее должна быть поддержка скинов, элементы которых я решил брать из внешних swf-ок. Там содержатся элементы интерфейса, можно так сказать 8).
Цитата:

Сообщение от mre (Сообщение 757705)
А в чем?

В FDT 3.

enepx 12.08.2008 16:57

Цитата:

Сообщение от mre (Сообщение 757705)
Ну так и загружайте один раз.

Дак я и так гружу один раз!
Но как мне потом сделать штук 40 копий этого файла? Если я буду делать addChild, например, то у меня они не будут дублироваться.

mre 12.08.2008 17:06

Цитата:

> Дак я и так гружу один раз!
Но как мне потом сделать штук 40 копий этого файла? Если я буду делать addChild, например, то у меня они не будут дублироваться.
Конечно не будут. Нужно создавать новый экземпляр.
А внешние swf тоже в FDT собирались?

enepx 12.08.2008 17:09

Цитата:

Сообщение от mre (Сообщение 757709)
Нужно создавать новый экземпляр.
А внешние swf тоже в FDT собирались?

Я и создаю новый экземпляр Loader, тока они естественно пустыми получаются. Внешние swf компилятся в Flash IDE, как предполагается, дизайнерами. А это имеет значение, чем компилятся внешние swf? Мы можем ровно с тем же успехом полагать, что грузим jpg вместо swf.

mre 12.08.2008 17:20

Если бы Вы грузили jpg, то можно было использовать один и тот же BitmapData. И на основе него создавать сколько угодно Bitmap.
А в Вашем случае наилучший вариант это запихнуть все данные в одну swf, прописать им классы и пользоваться.

enepx 12.08.2008 17:51

т.е. предлагаете [Embeded]?
Я сначала так и делал, но так не пойдет, не все смогут юзать это.
Или как Вы предлагаете?


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

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