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

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

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

Регистрация: Dec 2009
Сообщений: 10
По умолчанию Вопрос по loader и повторной загрузкой данных

Здравствуйте.
Прошу совета, ситуация такая:
Есть код, в котором обрабатывается xml, далее создаются объекты с аттрибутами на основе этого xml, и при клике на каждый объект загружается ф-ция, которая получает в аргумент ссылку-параметр того стороннего элемента, который надо загрузить на сцену (jpg, bmp, swf)
Вот код функции
Код AS3:
public function preloadMovie(movie:String):void {
var loader:Loader = new Loader();
loader.load(new URLRequest(movieLeft));				
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, moviePreloaderShow);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, setMovies);
 
loader.load(new URLRequest(movieLeft));
}
Как видно, в начале идет ф-ция которая показывает прелоадер, потом, после полной загрузки идет обработчий ф-ции который вставляет элемент на сцену.
И все бы ничего, но к сожалению, данный вариант не подошел заказчику, и попросили переделать так, что бы все элементы загружались сразу в начале, еще до клика по объекту, а при клике сразу показывались

Получить все ссылки на сторонние элементы в самом начале я могу.
И я думал, что можно в начале написать loader на один и тот же файл, и второй раз он его грузить не будет, но каждый раз новый loader загружает файлы по новой.
Может сделать еще один объект, в котором будут имена-ссылки на уже загруженные loader'ы с элементами, и при клике искать элемент типа MovieArray['some_pic.jpg'] и вставлять его на сцену....
Вот....в общем как сделать лучше?
Прошу прощенья за возможный бардак в тексте
Спасибо

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

Регистрация: Dec 2009
Сообщений: 428
Я не знаю как лучше, но я бы сделал с Object`ом..
Обход дерева XML с подгрузкой элемента в object не такая сложная процедура, зато потом представвляет возможностей больше (например, отображение всех загруженных штук сразу, пролистывание и проч)

Старый 13.01.2010, 21:52
dmitriev вне форума Посмотреть профиль Отправить личное сообщение для dmitriev Найти все сообщения от dmitriev
  № 3  
Ответить с цитированием
dmitriev
 
Аватар для dmitriev

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Обходите XML, на каждую картинку создаёте по Loader'у, ставите всех на загрузку и засовываете в массив.
__________________
O God! The Aftermath.

Старый 14.01.2010, 00:41
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Zuzzuk Посмотреть сообщение
И я думал, что можно в начале написать loader на один и тот же файл, и второй раз он его грузить не будет, но каждый раз новый loader загружает файлы по новой.
Может сделать еще один объект, в котором будут имена-ссылки на уже загруженные loader'ы с элементами, и при клике искать элемент типа MovieArray['some_pic.jpg'] и вставлять его на сцену....
Вот....в общем как сделать лучше?
Прошу прощенья за возможный бардак в тексте
Спасибо
Немного размышлял на эту тему. Остановился на том, что необходимо сохранять в хеш таблицу, в которой значением является сигнатура ресурса, а ключом является url пучка ресурсов (resource bundle url). Тогда, вероятно, любой ресурс можно загрузить и уведомить запрошающего о его готовности, если он еще не загружен, либо сразу забрать из менеджера ресурсов, если ресурс загружен.

В такой схеме loader вторичен. Он используется только для доставки ресурсов до менеджера ресурсов. И как будет реализован loader: URLLoader, URLStream, Socket и пр., что позволяет итерактировать с датапровайдерами - все равно.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 14.01.2010 в 00:44.
Старый 14.01.2010, 13:54
Zuzzuk вне форума Посмотреть профиль Отправить личное сообщение для Zuzzuk Найти все сообщения от Zuzzuk
  № 5  
Ответить с цитированием
Zuzzuk

Регистрация: Dec 2009
Сообщений: 10
Всем спасибо за ответы
Решил действительно делать объекты с ключом название и значенийем - loader'ом.
Теперь буду разбираться, как посчитать общий размер файлов, общий размер загруженных байт и как после этого включить основные обработчики но это я думаю разберусь.

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

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

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


 


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


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