Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как посчитать суммарный процент загрузки (http://www.flasher.ru/forum/showthread.php?t=72442)

benladen 27.11.2005 01:48

как посчитать суммарный процент загрузки
 
несколько файлов я гружу одновременно. листнер мне говорит по очереди процент каждого загруженного файла, как эту всю мешуру в общий процент объединить?

loaderListener.onLoadProgress = function (holder1:MovieClip, loadedBytes:Number, totalBytes:Number){

можно, конечно, холдер слушать, но как его разделять.
подскажите, плиз.

ffffff 27.11.2005 02:05

есть такая вешь, которую прохзодят в 1-м или втором классе под названием "среднее арифметическое".

benladen 27.11.2005 03:12

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

т.е. мой вариант
проверка на 4 холдера по 2 раза(mc1,mc2 в каждом mc по 4 holdera), потом вывод среднеарифметического и передача его на изменения размера прогрессбара, потом обнуление и все заново

benladen 27.11.2005 03:38

скажи просто, ты бы это через свитч делал или подругому?
мне интересны все варианты ...

benladen 27.11.2005 04:26

пока сделал вот так: только циферки не сходятся при таком варианте
почему?
если вычислять процент в каждом кейсе - все окей, а если в конце скопом, то не дает он 100 процентов, только 43

switch(holder1) {
case slides_mc1.holder0:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc1.holder1:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc1.holder2:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc1.holder3:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc2.holder0:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc2.holder1:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc2.holder2:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
case slides_mc2.holder3:
allloadedBytes += loadedBytes;
trace ("allloadedBytes"+allloadedBytes);
alltotalBytes += totalBytes;
trace ("alltotalBytes"+alltotalBytes);
break;
}
//trace ("allloadedBytes"+loadedBytes);
lo = allloadedBytes/8;
to = alltotalBytes/8;
var percent:Number = Math.round ((lo/to) *100);

ffffff 27.11.2005 04:43

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

Antares 27.11.2005 05:15

События нужны... правильно, для их обработки. А чтобы обрабатывать было удобно, у них есть возвращаемые обработчику параметры. Их мы свитчим, и апдейтим определенный прелоадер (или что-то еще), передав, допустим, ссылку на прелоадер функции.

И никаких выкладок на 4 листа.

ffffff 27.11.2005 05:44

да зачем высчитывать когда у всех 4-х прогресс скакнейт. можно каждый раз при каждом событии апдейтить. либо апдетить при передаче прогреса последнего холдера.


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

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