![]() |
как посчитать суммарный процент загрузки
несколько файлов я гружу одновременно. листнер мне говорит по очереди процент каждого загруженного файла, как эту всю мешуру в общий процент объединить?
loaderListener.onLoadProgress = function (holder1:MovieClip, loadedBytes:Number, totalBytes:Number){ можно, конечно, холдер слушать, но как его разделять. подскажите, плиз. |
есть такая вешь, которую прохзодят в 1-м или втором классе под названием "среднее арифметическое".
|
это все понятно, на скрипте как это зашарашить, не среднеарифметическое, а именно отслеживание, как я представляю, это гигантский скрипт получится, хотелось бы кратко и просто
т.е. мой вариант проверка на 4 холдера по 2 раза(mc1,mc2 в каждом mc по 4 holdera), потом вывод среднеарифметического и передача его на изменения размера прогрессбара, потом обнуление и все заново |
скажи просто, ты бы это через свитч делал или подругому?
мне интересны все варианты ... |
пока сделал вот так: только циферки не сходятся при таком варианте
почему? если вычислять процент в каждом кейсе - все окей, а если в конце скопом, то не дает он 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); |
сделай через массив. чтобы каждый элемент был процентом загрузки каждого холдера. и потом высчиываешь среднее арифметичесское всего массива.
|
События нужны... правильно, для их обработки. А чтобы обрабатывать было удобно, у них есть возвращаемые обработчику параметры. Их мы свитчим, и апдейтим определенный прелоадер (или что-то еще), передав, допустим, ссылку на прелоадер функции.
И никаких выкладок на 4 листа. |
да зачем высчитывать когда у всех 4-х прогресс скакнейт. можно каждый раз при каждом событии апдейтить. либо апдетить при передаче прогреса последнего холдера.
|
| Часовой пояс GMT +4, время: 15:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.