![]() |
Подгрузка мувиклипов
хочу из меню одного клипа включать другие но с прелоадером. В каждый дочерний клип прописывать прелоадер по-моему некрасиво, а как отслеживать загрузку дочернего из родительского никак сообразить не могу. Может у кого есть идеи?
|
Хм... а если в подгружаемых мувиках сделать свои прелоадеры... т.е. когда из основного клипа пойдет команда - загрузить ролик, то сначала сработает прелоадер, а потом уже мувик покажеться...
|
Это-то я и имел в виду когда говорил что это некрасиво.
Представь- прописывать в 50-ти клипах прелоадер а потом если что не понравилось изменять. Впечатлило? |
_roditelMC._docherniyMC.getBytesTotal();
_roditelMC._docherniyMC.getBytesLoaded(); _docherniyMC = "динамически меняемое имя" _roditelMC[_docherniyMC].getBytesTotal(); _roditelMC[_docherniyMC].getBytesLoaded(); |
вроде бы логично, но тогда где ошибка в приведённом коде:
on (release) { loadMovieNum ("file://film1.swf", 11); trace (eval(film11.film1.getBytesTotal())); } Дело в том окно trace пусто :confused: |
а оно сразу тебе не выдаст размер
слишком короткий промежуток времени. поэтому, пока ответ не получен, то getBytesTotal = NaN эт первое. второе. у тебя должно быть так: _level11.getBytesTotal() |
Ага... зашевелилось!
Большое спасибо! |
Рано радовался,
делаю такой код on (release) { loadMovieNum ("film1.swf", 11); while (_level11.getBytesLoaded()<_level11.getBytesTotal()) { setProperty (_level0.loader, _xscale, _level11.getBytesLoaded()/_level11.getBytesTotal()*100); } } ... не работает! Похоже в момент нажатия кнопки getBytesLoader ещё не имеет информации и цикла нет. Что делать? |
можно ещё в мувиклип грузить и
onClipEvent (data) { _root.preloader.gotoAndStop("on"); if (this.getBytesTotal() > 0 && this.getBytesLoaded() == this.getBytesTotal()) { _root.preloader.gotoAndStop("off"); play(); } } |
т.е. надо редактировать загружаемый мувик- так я понял?
А этого как раз я хотел избежать |
как раз не надо - делаешь стандартный дле всех подгружаемых .свф прелоадер (_root.preloader) и делаешь пустой мувиклип(болванку=) в который другие грузятся и вешаешь этот скрипт на него
потом просто: on (release) { loadMovieNum ("film1.swf", "болванка"); } |
попробовал -
в меню: on (release) { loadMovieNum ("preloader1.swf", 11); } в первом фрэйме preloader1: loadMovieNum ("film1.swf", 11); while (this.getBytesLoaded()<this.getBytesTotal()) { setProperty (_level0.loader, _xscale, this.getBytesLoaded()/this.getBytesTotal()*100 ); } что неправильно? |
ну так за двумя зайцами... :)
я может плохо объяснил, поробую ещё: :) ------------------------------------------------------------------ _root.preloader.gotoAndStop("on"); здесь preloader - это просто мультик/индикатор. ------------------------------------------------------------------ делаешь пустой мувиклип на главной сцене, обзываешь holder; на сцене кликаешь на него и в акшанах пишешь: onClipEvent (data) { // вот так можно мультяшку запусить без показа статуса _root.loader.gotoAndStop("on"); /*так здесь не получится - пробуй это с onClipEvent (enterFrame) -------------------------------------------------------------------------- _root.loader._xscale=this.getBytesLoaded()/this.getBytesTotal()*100 ; -------------------------------------------------------------------------- */ //проверка на загруженность if (this.getBytesTotal() > 0 && this.getBytesLoaded() == this.getBytesTotal()) { //мультяшку выключить _root.preloader.gotoAndStop("off"); //готово play(); } } и в меню: on (release) { // прежде я ошипся - loadMovie не loadMovieNum loadMovie ("preloader1.swf", "holder"); } Это - в TARGET, как в LEVEL на ночь глядя не скажу, не знаю :) |
извини что напрягаю, уточни - если preloader это индикатор то что такое loader?
И если я правильно понял "on" и "off" это метки фреймов, так? |
это одно и то же - просто в этот раз я назвал как ты назвал - loader.
"он", "офф" - да, метки в loader. я написал готуИСтоп("он") - поместив мультяшку в этот кадр как отдельный мувиклип, но можно и Плей - мультяшка на таймлайн. и в меню: on (release) { loadMovie ("preloader1.swf", "holder"); } тут конечно грузишь контент а ни какой не прелодер on (release) { loadMovie ("whatever.swf", "holder"); } |
может я ещё что неправильно делаю но
getBytesLoaded() и getBytesTotal() дают одинаковые значения. Такое впечатление что эти функции не отслеживают загрузку по loadMovie. Или я не прав? |
| Часовой пояс GMT +4, время: 19:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.