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

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

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
По умолчанию Подгрузить контент синхронно

Подгружаю синхронно 20 картинок. Хотелось бы отображать загрузку всех файлов вместе. Для этого я делаю:

Когда одна из картинок распространяет ProgressEvent.PROGRESS вызывается функция _handleLoadingProgress которая проверяет все ли элементы, которые я подгружаю распространили событие. если да, то сам объект (который весь контент грузит), распространяет событие ProgressEvent.PROGRESS.

Но почему то если в локале всё грузится синхронно. А вот в интернете нет То есть я вижу полосочку прелоадера, уже когда загрузилась большая часть. Можно ли как то заставить каждый элемент хотя бы немного подгрузить контент?

Код AS3:
private function _handleLoadingProgress(e:ProgressEvent):void {		
	e.target.state = 1;
	var i:uint = 0;
	while (_items[i]) {
		if (!_items[i++].state)
			return;
	}
 
	dispatchEvent(new ProgressEvent(ProgressEvent.PROGRESS, false, false, bytesLoaded, bytesTotal));
}
 
public function get bytesLoaded():Number {
	var bytes:Number = 0;
	for each(var item in _items) {
		bytes += item.bytesLoaded;
	}
	return bytes;
}
 
public function get bytesTotal():Number {
	var bytes:Number = 0;
	for each(var item in _items) {
		bytes += item.bytesTotal;
	}
	return bytes;
}
__________________
ranga

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Количетво одновременных загрузок в браузере часто ограничено (не знаю сервером или клиентом). Я почти всегда гружу последовательно, надежнее напорядок.

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
А как тогда отобразить общую загрузку?

Вариант:
(колвоЗагруженных + загруженнаяЧасть) / общееКолво;
Может быть очень не точным ((
__________________
ranga

Старый 02.06.2010, 18:54
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Только это асинхронно)
Можно считать, например, что каждая картинка - 5% размера от всего. Если приходит прогресс, то посчитать общий % загрузки можно всегда. Если известно, какие картинки грузим(т.е. все bytesTotal), то... ну вопроса не было б, надеюсь.
Грузить асинхронно стоит, т.к. весьма возможно будет быстрее и ошибок загрузки оно не добавит.

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Я вот сейчас подумал сделать так что бы каждый элемент распространил одно событие, сохранил кол-во общих байтов и сдох. И потом перезагружать по новой (уже зная общее кол-во байтов каждого элемента). Но мне это кажется наихудшим (хоть и единственным) выходом...
__________________
ranga

Старый 02.06.2010, 19:11
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 6  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Запроси скриптом с сервера и количество и размер.

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Волгоградец, это через PHP делать? Или можно как то иначе?
__________________
ranga

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Я ПХП не знаю, делал через C#. Любой, наверное, серверный язык вернет нужные данные, думаю ПХП в том числе. Но однозначно это на сервере надо делать.

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Через ПХП 100% можно, я думал просто что можно сделать с клиента запрос именно размеров. Но в принципе способом "убивания" лоадэров мы теряем только первый пакет загрузки. А может вообще не теряем, так как он будет грузится из кеша (скорее всего так и будет). Или я что то не то говорю?
__________________
ranga

Старый 02.06.2010, 20:29
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 10  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
http://www.flepstudio.org/forum/tuto...le-images.html

посмотри здесь.

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

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

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


 


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


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