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

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

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

Регистрация: May 2008
Сообщений: 106
Отправить сообщение для allanon85 с помощью ICQ Отправить сообщение для allanon85 с помощью Skype™
По умолчанию упорядоченная массовая загрузка картинок

Гружу кучку картинок, ссылки на них идут в определенном порядке. Если грузить поочередно, то это слишком долго. Поэтому хотелось бы грузить массой, но при этом у меня теряется очередность. То есть когда загружается какая либо картинка, я не знаю какая именно загрузилась.

гружу так:
Код AS3:
function startLoadPicObj()
{
	for (var i=0; i<=mapObjDataArr.length-1; i++)
	{
		var ldrObj:Loader= new Loader();
		var _arr:Array = mapObjDataArr[i].split("|");
		var urlReqObj:URLRequest = new URLRequest(_arr[0]);
		ldrObj.load(urlReqObj);
		ldrObj.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoadObj);
	}
}
function completeLoadObj(event:Event)
{
	...
}
есть параметры на входе и выходе, такие как ссылка, вес и т.д. но они не подходят т.к. частенько совпадают.
Как еще можно отследить какая именно картинка загрузилась, либо быстро загрузить их все не теряя последовательность?

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
В массив Loader'ы складывайте, и как только все картинки загрузятся, то по порядку из этого массива их доставайте.

Старый 05.12.2010, 04:54
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Дано: лоадер и данные, которые к нему нужно привязать. Создаем лоадер, подписываем на завершение загрузки, запускаем загрузку. После завершения загрузки можем получить лоадер через event.target.loader, но не можем достучаться до нужных данных.

Задача: обеспечить доступ к данным, имея ссылку на лоадер.

Решение: использовать Dictionary, предварительно прочитав мануалы. После создания лоадера засунуть в dictionary данные, используя лоадер в качестве ключа, после завершения загрузки - получить нужные данные.

Код AS3:
dict[loader] = someData;
...
someData = dict[event.target.loader];
__________________
тонкий тролль, осеянный благодатью


Последний раз редактировалось Gaen; 05.12.2010 в 05:52.
Старый 05.12.2010, 05:11
allanon85 вне форума Посмотреть профиль Отправить личное сообщение для allanon85 Найти все сообщения от allanon85
  № 4  
Ответить с цитированием
allanon85

Регистрация: May 2008
Сообщений: 106
Отправить сообщение для allanon85 с помощью ICQ Отправить сообщение для allanon85 с помощью Skype™
Код AS3:
var ldrObj:Loader;
var objArr:Array;
var dict:Dictionary=new Dictionary();
function startLoadPicObj(num:Number)
{
	objLoad = num;
	for (var i=num; i<mapObjDataArr.length; i++)
	{
		ldrObj = new Loader();
		var _arr:Array = mapObjDataArr[i].split("|");
		var urlReqObj:URLRequest = new URLRequest(_arr[0]);
		ldrObj.load(urlReqObj);
		//objArr[i]=ldrObj;
		dict[ldrObj]=i;
		ldrObj.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoadObj);
	}
}
function completeLoadObj(event:Event){
	trace(dict[event.target]);//undefined
}
GAIKER,
такой пример я тут находил, но не получилось. может не так что то сделал. на выходе undefined

Bgg,
попытка запихнуть лоадер в массив вызывает ошибку. как запихивал показано в коде выше, вот эта строчка
Код AS3:
objArr[i]=ldrObj;


Последний раз редактировалось allanon85; 05.12.2010 в 05:14.
Старый 05.12.2010, 05:17
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 5  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Экземпляр массива то создайте, и пихайте в массив методом push
Код AS3:
var objArr:Array = new Array();
//...
objArr.push(ldrObj);

Старый 05.12.2010, 05:19
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 6  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Вечно забываю что слушается не сам лоадер, а его loaderInfo
Код AS3:
trace(dict[event.target.loader]);
__________________
тонкий тролль, осеянный благодатью

Старый 05.12.2010, 05:24
allanon85 вне форума Посмотреть профиль Отправить личное сообщение для allanon85 Найти все сообщения от allanon85
  № 7  
Ответить с цитированием
allanon85

Регистрация: May 2008
Сообщений: 106
Отправить сообщение для allanon85 с помощью ICQ Отправить сообщение для allanon85 с помощью Skype™
Bgg,
создавал, просто он в самом верху.

GAIKER,
помогло, спасибо)

Старый 05.12.2010, 11:16
drnet_ua вне форума Посмотреть профиль Отправить личное сообщение для drnet_ua Найти все сообщения от drnet_ua
  № 8  
Ответить с цитированием
drnet_ua
 
Аватар для drnet_ua

Регистрация: Jul 2010
Адрес: 50° 27′ 0″ N, 30° 30′ 0″ E
Сообщений: 256
Записей в блоге: 2
bulk-loader

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

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

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


 


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


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