PDA

Просмотр полной версии : Подскажите как сделать правильный прелоадер


Easter
07.10.2002, 18:05
Я задумал сделать сайт на флэше на основе разделяемых библиотек. Вроде все сделал и в локале все работало. Когда перенес на сайт, то все это дело загружается не синхронно с наступлением кадров для кажого разделяемого мувика. Вопрос как сделать грамотный прелоадер, чтобы он не пускал каждый мувик раньше, чем он загружится?

beshan
07.10.2002, 19:14
а что значит "на основе разделяемых библиотек" - честно говоря первый раз такое слышу, просвяти меня плиз

Easter
07.10.2002, 20:29
Ну это совсем не сложно. Создаешь новый мувик и делаешь в нем все, что хочешь клипы, звуки, шрифты. Потом вызываешь браузер библитеки и там правой кнопочкой Linkage. Ставишь Export this symbol. Или, что-то вроде. Там задаешь имя под которым он будет, когда будет использоваться как разделяемый. А, потом открываешь свой основной мувик и там уже выбираешь из меню File - Open As Shared Library. Он тебе открывает только окошко с браузером библиотеки мувика. Перетаскиваешь к себе все, что тебе нужно. Да, и та библиотека, что будет разделямой должна быть уже опубликована, чтобы все это работало. Ну и все. Теперь когда ты будешь обращаться к этим ресурсам они должны грузиться из отдельной библиотеки.

beshan
08.10.2002, 13:01
насколько я понял ты говориш про пятую версию флэша и подключаемые библиотеки - это аналог мх-совских компонент. чесно говоря с таким не работал....сразу подсел на компоненты в мх.

в плане прелода попробуй сделать первой сценой общий прелоад клипа и поставить проверку на загрузку всех библиотек, если загрузились - переход на вторую сцену для проигрывания ролика

удачи

Easter
08.10.2002, 17:16
Так я о том и спрашиваю, как его сделать. Птому, что
If Frame Is Loaded (Scene 1, "end")
Go to and Play (Scene 1, 1)
End Frame Loaded
Мне особо не помогает. И при проверке глючит, то бишь Bandwidth profiler показывает, что данные прелоадера загружены, а он сразу к следующему мувику летит. Вот я и спрашиваю, как код правильного прелоадера может выглядеть? :(

Darina
08.10.2002, 17:51
кажется, знаю, в чём твоя беда :)
Напиши текст своего прелоадера, тогда можно будет точно сказать. Уверена, что ты не проверяешь total на ноль, а надо!

Easter
08.10.2002, 20:12
Мой текст таков :)
ifFrameLoaded ("Scene 1", "loader_end") {
gotoAndPlay (1);
}

Darina
09.10.2002, 00:05
Ой, не, сори, я не так поняла. :rolleyes: Т.е. никаких мувиков ты не подгружаешь, понятно... Может, кто более шарящий подскажет, я не знаю :(

Easter
09.10.2002, 00:25
Не-е-е, ты погоди, не убегай. :) Ты расскажи, тодь как их подгружать, что loadMovie я вроде понял. А как например проверить, что он весь загрузился?

Darina
09.10.2002, 01:44
LoadMovie ты можешь делать в отдельный уровень или в какой-то клип:
LoadMovie('lya-lya-topolya.swf', 1);
LoadMovie('lya-lya-topolya.swf', '_root.kontainer');
соответственно (это например)

для первого случая прелоадер надо делать так:
1-й кадр: LoadMovie('lya-lya-topolya.swf', 1);
2-й кадр: пусто
3-й кадр:
if ((_level1:_framesloaded<_level1:_totalframes) or
(_level1:_totalframes<1)) prevFrame();
4-й кадр: собственно начало твоего мувика

Дело в том, что многие не проверяют totalframes<1, а из-за этого оно не будет работать через интернет.
Лучше кстати, использовать не framesloaded, а bytesloaded, это я что первое в голову пришло написала, хотя и так будет работать. :rolleyes:

beshan
09.10.2002, 12:36
если ты подгружаеш библиотеки отдельными мувами, то могу помочь, смотри как проверка делается:

1. ставишь на сцену отдельно мув для каждого файла и даеш им имена containerXX
2. загружаеш в эти контейнеры свои файлы
containerХХ.loadMovie("FileName.swf");
3. потом просто делаеш проверку на загрузку каждого контейнера

container1.getBytesLoaded() == container1.getBytesTotal()
container1.getBytesTotal() != 0



попробуй может так получиться: на сцене прелоада делаеш запрос библиотек, тоесть, пока не сможет заюзать все библиотеки висиш на сцене прелоада

RDA
09.10.2002, 12:46
2 beshan shared library и MX components - разные вещи....

2 Easter
В самом начале загрузи в невидимый мувик свою библиотеку,
для того, чтобы этот файл закешировался у пользователя.
Потом можешь его удалять....

Easter
09.10.2002, 17:05
А как, просто сделать обращение к нему?