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

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

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

Регистрация: Jul 2005
Сообщений: 13
По умолчанию SetInterval в цикле ?!

День добрый,

Подскажите пожалуйста решение. Пробывал и так и сяк, ничего не получается.

Есть код, определяет размер загружаемых JPEG-ов:

//for (i=1; i<=kol; i++)
//{
i = 1;
ff = setInterval(get_bytes, 300);
//}

function get_bytes()
{
l=eval("images_" + i).getBytesLoaded();
t=eval("images_" + i).getBytesTotal();

if ((l == t) && (l && t))
{
trace(t);
clearInterval(ff);
}
}

Вот в таком виде работает, но если убрать знаки комментария в цикле FOR, то функция get_bytes() вызывается только 1 раз, таймер не сбрасывается.

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

Пробывал использовать вместо SetInterval onEnterFrame, то же что-то не выходит, только если 2 изображения

За ранее спасибо

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
for (i = 1; i <= 5; i++) {
	ff = setInterval (get_bytes, 300, i);
}
function get_bytes (i) {
	trace (i)
	l = eval ("images_" + i).getBytesLoaded ();
	t = eval ("images_" + i).getBytesTotal ();
	if ((l == t) && (l && t)) {
		trace (t);
		clearInterval (ff);
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.07.2005, 13:54
serf вне форума Посмотреть профиль Отправить личное сообщение для serf Найти все сообщения от serf
  № 3  
Ответить с цитированием
serf

Регистрация: Jul 2005
Сообщений: 13
Спасибо.

В принципе работает
Я пошел по другому пути, стал определять размер последней загруженной картинки и потом уже определять размеры всех изображений, но правда этот метод мне кажеться не лчень надежным.


Ваш пример работает, но только clearInterval все равно не сбрасывает таймер, трассировка не прекращается.

Мне что смущает, при трассировке идут значения 1,2,3,4,5,(t байты), и потом опять 1,2,3,4,5,(t байты). Разве не должно быть так: 1, (t байты) clearInterval() по условию, 2, (t байты) clearInterval() по условию и т.д. ? Цикл FOR не прерывается почему то и clearInterval то же. ?!

Старый 20.07.2005, 14:01
serf вне форума Посмотреть профиль Отправить личное сообщение для serf Найти все сообщения от serf
  № 4  
Ответить с цитированием
serf

Регистрация: Jul 2005
Сообщений: 13
clearInterval (ff); не работает я так понимаю, потому что не известно значение ff.
Получить не получается, я в AS новичок, а во Флеше тем более.

Я поставил clearInterval (i);
i содержит последовательность 1..5, и индентификатор ff то же 1...5. Не очень конечно подход, а можно передать именно ff ?

Старый 20.07.2005, 14:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
arrayInt = new Array ();
for (i = 1; i <= 5; i++) {
	arrayInt[i] = setInterval (get_bytes, 300, i);
}
function get_bytes (i) {
	trace (i)
	l = eval ("images_" + i).getBytesLoaded ();
	t = eval ("images_" + i).getBytesTotal ();
	if ((l == t) && (l && t)) {
		trace (t);
		clearInterval (arrayInt[i]);
	}
}
Байты у тебя должны выодится только после того как картинка загрузится, а до этого выводится только индекс объектов.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.07.2005, 15:31
serf вне форума Посмотреть профиль Отправить личное сообщение для serf Найти все сообщения от serf
  № 6  
Ответить с цитированием
serf

Регистрация: Jul 2005
Сообщений: 13
спасибо за помошь.

Старый 20.07.2005, 16:07
serf вне форума Посмотреть профиль Отправить личное сообщение для serf Найти все сообщения от serf
  № 7  
Ответить с цитированием
serf

Регистрация: Jul 2005
Сообщений: 13
не поскажешь с какой лучше стороны подойти к созданию предзагрузчика, с учетом того что не известно сколько изображений будет загружено в флеш фильм?

Старый 20.07.2005, 16:10
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 8  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
со стороны универсальности ...
__________________
BestMasterиZация

Старый 20.07.2005, 16:27
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от serf
не поскажешь с какой лучше стороны подойти к созданию предзагрузчика, с учетом того что не известно сколько изображений будет загружено в флеш фильм?
У браузера есть ограничения (в реестре прописывается) на количество одновременно загружаемых элементов. Поэтому лучше всего, грузить одно за другим. То есть после получения события о полной загрузке, начинать грузить следущий элемент.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.07.2005, 17:02
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 10  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
Цитата:
Сообщение от iNils
У браузера есть ограничения (в реестре прописывается) на количество одновременно загружаемых элементов. Поэтому лучше всего, грузить одно за другим. То есть после получения события о полной загрузке, начинать грузить следущий элемент.
Вот про это я и не знал ... спасибо за мастер класс ... а если не секрет какие ограничения ?
__________________
BestMasterиZация

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

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

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


 


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


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