Форум 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=73860)

_OldBoy_ 05.01.2006 17:39

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

K.A.T.A.F.A.L.K.E.R 05.01.2006 17:44

lb = getBytesLoaded();
tb = getBytesTotal();
mc.gotoAndStop(Math.round((lb/tb)*10));
шо-то типа этого...

_OldBoy_ 05.01.2006 18:02

ммм ээ
то есть мувик будет пытаться всё время перейти на несуществующий фрэйм вроде 2.36,2.37 и когда наконец наступит 3 он на него перейдёт?
мне каца много ресурсов жрать будет на такое извращение. хотя я хз

__i 05.01.2006 18:17

в этом тебе поможет Math.ceil() - почитай хелп но нему

Antares 05.01.2006 18:38

Цитата:

Сообщение от _OldBoy_
мне каца много ресурсов жрать будет на такое извращение. хотя я хз

1. Не будет.
2. Почему это извращение, расскажи?

BlooDHounD 05.01.2006 18:38

А чем в примере Math.round плох?

BlooDHounD 05.01.2006 18:41

Миша .... Гтолк загрузи. ю нид ми.

__i 05.01.2006 18:58

раунд окргуляет по 0.5 т.е. 2.4 -> 2, 2.6 ->3 !
цеил - 2.4 -> 2, 2.6 ->2
и еще
если чесно я раунд сразу в примере не увидел %((, сорри.

BlooDHounD 05.01.2006 19:10

Дык я же не спрашівал в чём разніца (я і так знаю) я думал, что он тут діаметрально не подходіт :)

__i 05.01.2006 19:14

если что переход будет для 10, 20....%, то он здесь явно не подходит!!!

он подходит для 5% 15% .....

nyctota 05.01.2006 20:26

Объявить i во фрейме, куда прелоадер больше не полезет.

А в следующем
Код:

if (Math.floor((lb/lt)*10)/i >= 1) {
        mc.gotoAndStop(i);
        i++;
}

Я проверил: работает быстрее, чем gotoAndStop(Math.round((lb/tb)*10));

НО это и в самом деле некритично, на 1000 вызовов уходит около 18 мс (11 мс в моем случае), так что все равно, что использовать.

_OldBoy_ 06.01.2006 23:17

Вложений: 1
эээ вопщам не судите строго
но я делаю так - исходник вложен

я знаю точно что это не правильно=) - останавливается на цифре 80
это мне наиболее непонятно

а вообще тут наверное нужно что нибудь вроде он клип евент лоад как в пхп или это ещё где то - чёрт я запутался =) - давно не делал ничего такого

Antares 06.01.2006 23:48

За on(clipEvent) надо отрывать руки. Код в своем исходнике не найдешь, не то что -- в чужом

_OldBoy_ 07.01.2006 00:18

Вложений: 1
onClipEvent (enterFrame) {
if (Math.floor((getBytesLoaded()/getBytesTotal())*10)/i >= 1) {
_root.gotoAndStop(i);
i++;
}
}

я вот это приклеил к прозрачному мувику - и хоть бы что =)

памажииите - я знаю что просто - раньш делал

всё забыл ппц =(

в конечном итоге пришёл к тому что выложил
но всё равно не пашет =((((

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

сам прелоадер в чёрном кружке

nyctota 07.01.2006 13:34

87 килобайт?! Ладно еще не полметра как у некоторых бывает.
Это у тебя столько прелоадер весит? Не желаешь к нему сделать еще один -- поменьше? :D
А вообще, трейсом пользоваться надо если что-то не получается, а то как слепой сидишь и думаешь, почему так?

Вот тут
Код:

Math.round(getBytesLoaded()/getBytesTotal()*10)
у тебя вычисляются значения НЕ для всего клипа, а для мувика-прелоадера. Поставь _root.

undeddy 07.01.2006 14:36

По-моему, сюда onEnterFrame присобачить нужно еще.

_OldBoy_ 07.01.2006 19:57

вобщам сё я наконец то завершил свой тупняк и в конечном итоге он выглядит таким образом - поставлен в первый фрэйм главного мувика

this.onEnterFrame = function() {
b = Math.round(getBytesLoaded()/getBytesTotal()*10);
gotoAndPlay(b);
};

и весит прелоадер не 88 килобайт - это исходник столько весит без графики - с графикой он метр весит - а скомпиленный 8 кубов всего

this.onEnterFrame = function() - это тот же он клип евент ток не надо крепить к прозрачному мувику

всем спасибо за поддержку =)

Antares 07.01.2006 20:00

Поздравляю. И все же пользуйся тэгом [ code ]. Спасибо.

_OldBoy_ 07.01.2006 22:56

плин всё таки что то не то =(

скрипт не пускает меня походу с 10ого фрэйма никуда - то есть там же написано что когда мувик загрузился - перейти на 10ый - вот он туда переходит постоянно =(

я ставлю иф 10 фрэйм зен брейк и всё равно не пашет =(

K.A.T.A.F.A.L.K.E.R 08.01.2006 00:29

Цитата:

Сообщение от _OldBoy_
плин всё таки что то не то =(

скрипт не пускает меня походу с 10ого фрэйма никуда - то есть там же написано что когда мувик загрузился - перейти на 10ый - вот он туда переходит постоянно =(

я ставлю иф 10 фрэйм зен брейк и всё равно не пашет =(

так ставь не зен брейк а зен делете онентерфрейм тчкзпт ;)


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

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