![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2002
Сообщений: 8
|
Проблема такая: нужно сделать прелоадер.
Он состоит из пяти кадров, в каждом из которых вставлен мувик. Идея в том, чтобы как только фильм начал грузиться играл мувик первого кадра, затем при наборе 20% объема - мувик второго кадра и т.д. до 100% на пятом кадре, при наборе которых начинет крутиться сам фильм, начиная с 6 кадра. В каждом кадре я добавлял скрипт к мувику этого кадра (правой по мувику и т.д.). Но в результате получилось, что при загрузке фильма кадры сразу пробегают от 1 до 5, затем ждет до 100% (при этом мувик 5-го кадра не играет, вообще говоря не один из 5 мувиков не играет при остановке на соответствующем кадре) и продолжает играть. Ниже приведены скрипты всех 5 кадров(мувиков). Подскажите, пожалуйста, в чем ошибка? //------- Кадр #1 --------------// onClipEvent (load) { tot =getBytesTotal(); } onClipEvent (enterFrame) { loaded = getBytesLoaded(); percent = loaded/tot*100; if(loaded==tot) { gotoAndPlay(6); } if(percent>=20) { gotoAndPlay(2); } } //------ Кадр #2 ------------// onClipEvent (load) { tot =getBytesTotal(); } onClipEvent (enterFrame) { loaded = getBytesLoaded(); percent = loaded/tot*100; if(percent>=40) { gotoAndPlay(3); } } //------- ... и так далее--------------// //--------Кадр #5-----------// onClipEvent (load) { tot =getBytesTotal(); } onClipEvent (enterFrame) { loaded = getBytesLoaded(); percent = loaded/tot*100; if(loaded==tot) { gotoAndPlay(6); } } //-----------end---------// |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
1. расставь стопы в каждом кадре.
onClipEvent (load) { tot =_root.getBytesTotal(); } onClipEvent (enterFrame) { loaded = _root.getBytesLoaded(); percent = loaded/tot*100; if(loaded==tot) { this._parent.gotoAndPlay(6); } if(percent>=20) { this._parent.gotoAndStop(2); } else{this._parent.stop(); } } - примерно в таком духе |
|
|||||
|
Ошибка в неправильном подходе
Во первых: onClipEvent потому и называется КлипИвент что ставится на клип а не в кадр!!! Поставил ты правильно, назвал криво! Далее: не страдай ф#%ней, создай пустой мувик "лоадер" и положи его, скажем, слоем выше чем твои пять кадров в нижнем слое. "Лоадер" длится с 1 по 5 кадр и свой код onClipEvent (load) { tot =_root.getBytesTotal(); } onClipEvent (enterFrame) { loaded = _root.getBytesLoaded(); percent = loaded/tot*100; if(loaded==tot) { _root.gotoAndPlay(6); } if(percent>=20) {_root.gotoAndStop(2); } } вешаешь именно на один мув, который управляет переходами по кадрам. Только условия перехода на следующий кадр, сам понимаешь, надо прописать по другому например: if (percent>20 && percent<=40) {_root.gotoAndStop(2);} else if (percent>40 && percent<=60) {_root.gotoAndStop(3);} ... и т.д. стоп действительно поставь хотябы в первом кадре! а то что мувики не играют, так может внутри их стоп стоит, вот и ждут они тебя! ![]() |
|
|||||
|
Регистрация: Jul 2002
Сообщений: 8
|
вот что я сделал руководствуясь советами
![]() onClipEvent (load) { tot = _root.getBytesTotal(); } onClipEvent (enterFrame) { tot = _root.getBytesTotal(); loaded = _root.getBytesLoaded(); percent = loaded/tot*100; if (percent>20) { _root.gotoAndStop(2);} else if (percent>40) { _root.gotoAndStop(3);} else if (percent>60) { _root.gotoAndStop(4);} else if (percent>80) { _root.gotoAndStop(5);} else if (loaded==tot) { _root.gotoAndPlay(6);} } однако не фига не работает, а только виснет на 2 кадре, с работающим мувиком. код разместил на пустом муве в отдельном верхнем слое и продлил на 5 кадров (1-5). все как положено |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
положи где-нибудь зипок, потому как оч сложно определить цвет по запаху, а вкус по звуку
![]() |
|
|||||
|
Регистрация: Jul 2002
Сообщений: 8
|
тока вести че-то много
|
|
|||||
|
Регистрация: Jul 2002
Сообщений: 8
|
там в принципе, смотреть не на что.
обычный линейный фильм. а что нужно я написал в первом посте. количество процентов - номер фрейма. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
проблема не втом, что и как ты написал, а где это расположено и т.п.
ошибка может быть где угодно. телепатов здесь нет, поэтому и просим положить исходник. лучше, если будет попиленый в смысле размеров |
|
|||||
|
я ж тебе ясно написал:
if (percent>20 && percent<=40) {_root.gotoAndStop(2);} else if (percent>40 && percent<=60) {_root.gotoAndStop(3);}... а ты: if (percent>20) {_root.gotoAndStop(2);} else if (percent>40) {_root.gotoAndStop(3);} разницу замешаешь? вот из-за такого кода и виснет на 2 КАДРЕ!!! (первое условие выполняется, а дальше ему на все ложить). |
![]() |
Часовой пояс GMT +4, время: 21:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|