PDA

Просмотр полной версии : помогите нубу с прелоадером


_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
мне каца много ресурсов жрать будет на такое извращение. хотя я хз
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
эээ вопщам не судите строго
но я делаю так - исходник вложен

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

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

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

_OldBoy_
07.01.2006, 00:18
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
плин всё таки что то не то =(

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

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