Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   GetBytesTotal() или 100% в конкретном кадре (http://www.flasher.ru/forum/showthread.php?t=46867)

GreeNoise 15.07.2003 21:30

GetBytesTotal() или 100% в конкретном кадре
 
С помощь функции GetBytesTotal() можно подсчитать, сколько ВСЕГО процентов загружено...
А мне надо, чтобы скрипт считал 100% не от общего размера ролика, а от установленной метки кадра.
Т.е. чтобы 100% наступало в конкретном кадре...
Возможно такое?

pogga 15.07.2003 21:58

Ваще ничего не понял что ты хочешь .... :rolleyes:
Может ты хочешь , чтобы конец загрузки совпал с определенным действием ?
Тогда просто твой прелоадер должен содержать в себе это действие в последнем кадре (в сотом).

sergwizard 16.07.2003 02:22

Вопрос GreenNoise(a) непонятен, это точно. 100% от чего?

Но и твой ответ, pogga с цветочками, из того же ряда. В каком сотом кадре? Нормальный прелоадер делается однофреймовым. Народ уже забыл такие прелоадеры на 100 фреймов.

minigun 16.07.2003 02:30

Думаю нет.
Можно поместить все, что до the кадра в отдельный мувиклип и поставить прелоадер в нем.

Dimonius 16.07.2003 12:48

Да нет же.
Заходим в предосмотр или при экспорте выбираем опцию генерировать отчет о размерах.
Смотрим сколько до нужного нам кадра приходится байт. Вместо getBytesTotal(); используем это значение - вот и все дела.

GreeNoise 16.07.2003 13:35

2 Dimonius
 
2 Dimonius - Гениально!

Для тех, кто не понял - сначала у меня была такая конструкция:

В первом кейфрейме:
Total = _root.GetBytesTotal();

Во втором кейфрейме:
Load = _root.getBytesLoaded();
Percent = int(Load / Total * 100);
PercentField = Percent + "%"; // PercentField - переменная для вывода на экран в динамик текст

В третьем кейфрейме:
if (load < Total){gotoAndPlay (2);};

В четвертом кейфрейме:
пошла основная анимация...

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

В связи с этим и возник вопрос.

А нашел я вот такое решение:

В первом кейфрейме:
x = _currentFrame * 100 / 106 // где 106 - это последний кадр
PercentField = x + "%";

Во втором кейфрейме
if (x < 100){
gotoAndPlay (1);
}

В третьем кейфрейме:
пошла основная анимация...

Только вот глюк - при загрузке неправильно отображаются проценты, а точнее - постоянно висит 0,94% :confused:

Useless 16.07.2003 14:29

В первом кадре _currentframe всегда равно 1.
Угадай, почему.

Если ты имел ввиду _framesloaded - то тебя, скорее всего, снова постигнет разочарование. Каждый кадр весит по-разному.

GreeNoise 16.07.2003 15:34

2 Useless
 
спасибо!

x = parseInt(_framesloaded * 100 / 106) // 106 - is last frame

работает, как ни странно ;-)))


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

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