Вопрос по прелодеру @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 19 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
AVG Муж.
соучастник
0
Сообщения: 304
Зарегистрирован: 05.05.02
Заголовок сообщения: Вопрос по прелодеру
Сообщение Добавлено: 24 Ноябрь 2003, 09:50:07 
Сделал простенький прелодер,
вот он:

onClipEvent (load)
{
tot = _root.getBytesTotal();
}
onClipEvent (enterFrame)
{
loaded = _root.getBytesLoaded();
amountLoaded = loaded/tot;
percent = int(amountLoaded*100);
text=Math.floor(percent);
text="Loaded 335Kb / "+text+"%"
if(amountLoaded >= 1.0){_root.gotoAndStop(2)}
}


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

Все, на первый взгляд, просто.

НО он почему-то выдает НЕ размер всего ролика, а размер ПЕРВОГО СЛОЯ. (В ролике, вернее в исходнике несколько слоев, и вот прелодер почему-то _root.getBytesTotal(); получает только размер первого слоя и начинает анимацию. И как только проходит загруженная часть -- ролик начинает тормозить.

:confused: :confused: :confused:

Кто-нибудь с таким сталкивался? И как выкручивался?

Надеюсь, вроде внятно изложил проблему (велик и могуч русский...).
lizergil
новый человек
0
Сообщения: 2
Зарегистрирован: 10.11.03
Сообщение Добавлено: 24 Ноябрь 2003, 11:15:47 
_level0.getBytes...
AVG Муж.
соучастник
0
Сообщения: 304
Зарегистрирован: 05.05.02
Сообщение Добавлено: 24 Ноябрь 2003, 11:23:44 
lizergil,

_level0.getBytes вместо _root.getBytes поставил -- все равно тоже самое :((

может надо все в отдельных сценах делать?
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 24 Ноябрь 2003, 12:31:14 
а что там - в слоях?
AVG Муж.
соучастник
0
Сообщения: 304
Зарегистрирован: 05.05.02
Сообщение Добавлено: 24 Ноябрь 2003, 12:37:08 
eddy444,

ну ролик состоит из слоев (Layer), ну как обычный ролик (в приницпе могу выслать/выложить исходник).

первый слой -- это прелодер,
второй слой -- это, допустим, движение предмета некого,
третий слой -- это второй предмет выползает на экран

и т.д. -- все просто и тривиально.

но прелодер, собака, загружает только 53% -- как раз столько весит первый слой с движением предмета,
запускает ролик и как только действие доходит до второго движения, ролик, естественно тормозит и догружается.….

:cry:

что делать -- ума не приложу
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 24 Ноябрь 2003, 13:55:16 
не знаю можно ли так сделать:
проверять не количество загруженых байтов а колличество загруженных кадров …
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 24 Ноябрь 2003, 14:08:21 
AVG, а нельзя ли ввзглянуть на загадочный файл? Никак не могу повторить такое странное поведение...

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
AVG Муж.
соучастник
0
Сообщения: 304
Зарегистрирован: 05.05.02
Сообщение Добавлено: 24 Ноябрь 2003, 14:29:46 
Crazy,

http://www.a-v-g.ru/temp/main.zip

(786Кб)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 24 Ноябрь 2003, 14:58:46 
1. В верхнем layer'е в первом кадре поставил stop.
2. На всякий случай изменил одну строку твоего скрипта:

Код:
if(loaded >= tot){_root.gotoAndStop(2)}

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 24 Ноябрь 2003, 14:59:34 
stop поставь в первом кадре …
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 24 Ноябрь 2003, 15:03:14 
Кстати, о прелоадерах - МХ показывает "байтс тотал" как еслибы файл публиковался без компрессии, как бы заставить показывать "честное" кол байт?
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 24 Ноябрь 2003, 15:08:20 
eddy444, первое, что приходит в голову, это пересчет на лету с учетом фактической степени компрессии. :)

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 24 Ноябрь 2003, 15:14:06 

Цитата:
как бы заставить показывать "честное" кол байт?


А зачем? :)
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 24 Ноябрь 2003, 15:31:20 
Crazy, второе что приходит в голову -как этот коэфф посчитать?
@st@l@vist@, а чтоб было :)
я например трахтибидохаюсь чтоб в мой флэш 50 кб влезло в пять раз больше всего чем у Васи в 150. а порелоадер всем показывает -85. удовлетворение уже не того, не совсем полное.
С другой стороны - если показывать типа скорость загрузки вычисляемую на основе гетбайтслоадед/время -то юзеру на модеме можно грузить с запредельными скоростями типа 7кб/сек и тп. :)
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 24 Ноябрь 2003, 15:44:04 
Ну вкатать из вне реальный размер файла с компрессией и посчитать :)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 24 Ноябрь 2003, 15:49:27 

eddy444 писал(а):
второе что приходит в голову -как этот коэфф посчитать?



Я тебе скажу, но ты будешь стонать и рвать на себе волосы. :) Просто заведи переменную, в которую будешь присваивать размер упакованной версии. Т.е. изначально кладешь туда ноль, затем публикуешь сжатую версию, подсматриваешь размер, вписываешь в исходник и публикуешь заново. Зная реальный размер и размер, возвращаемый в getBytesTotal, просто выполняешь деление. :)

Теоретически, степень сжатия прри этом может измениться. Но разница будет совсем не та, чтобы о нй думать. :)
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 24 Ноябрь 2003, 15:56:17 
Crazy, ну ладно уже и пошутить низзя.
я уже думал счас мне посоветуют скрипт на сервере чтоб определял реальный размер через переменную грузил во флэш и тп итд :)
AVG Муж.
соучастник
0
Сообщения: 304
Зарегистрирован: 05.05.02
Сообщение Добавлено: 24 Ноябрь 2003, 16:06:14 
Crazy,
Спасибо.
все понял.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 24 Ноябрь 2003, 16:09:57 

eddy444 писал(а):
я уже думал счас мне посоветуют скрипт на сервере чтоб определял реальный размер через переменную грузил во флэш и тп итд :)



Это, кстати, тоже хорошая мысль. Но я люблю по-возможности более простые решения. :)
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 19 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100