Просмотр полной версии : Подскажите как сделать правильный прелоадер
Я задумал сделать сайт на флэше на основе разделяемых библиотек. Вроде все сделал и в локале все работало. Когда перенес на сайт, то все это дело загружается не синхронно с наступлением кадров для кажого разделяемого мувика. Вопрос как сделать грамотный прелоадер, чтобы он не пускал каждый мувик раньше, чем он загружится?
а что значит "на основе разделяемых библиотек" - честно говоря первый раз такое слышу, просвяти меня плиз
Ну это совсем не сложно. Создаешь новый мувик и делаешь в нем все, что хочешь клипы, звуки, шрифты. Потом вызываешь браузер библитеки и там правой кнопочкой Linkage. Ставишь Export this symbol. Или, что-то вроде. Там задаешь имя под которым он будет, когда будет использоваться как разделяемый. А, потом открываешь свой основной мувик и там уже выбираешь из меню File - Open As Shared Library. Он тебе открывает только окошко с браузером библиотеки мувика. Перетаскиваешь к себе все, что тебе нужно. Да, и та библиотека, что будет разделямой должна быть уже опубликована, чтобы все это работало. Ну и все. Теперь когда ты будешь обращаться к этим ресурсам они должны грузиться из отдельной библиотеки.
насколько я понял ты говориш про пятую версию флэша и подключаемые библиотеки - это аналог мх-совских компонент. чесно говоря с таким не работал....сразу подсел на компоненты в мх.
в плане прелода попробуй сделать первой сценой общий прелоад клипа и поставить проверку на загрузку всех библиотек, если загрузились - переход на вторую сцену для проигрывания ролика
удачи
Так я о том и спрашиваю, как его сделать. Птому, что
If Frame Is Loaded (Scene 1, "end")
Go to and Play (Scene 1, 1)
End Frame Loaded
Мне особо не помогает. И при проверке глючит, то бишь Bandwidth profiler показывает, что данные прелоадера загружены, а он сразу к следующему мувику летит. Вот я и спрашиваю, как код правильного прелоадера может выглядеть? :(
кажется, знаю, в чём твоя беда :)
Напиши текст своего прелоадера, тогда можно будет точно сказать. Уверена, что ты не проверяешь total на ноль, а надо!
Мой текст таков :)
ifFrameLoaded ("Scene 1", "loader_end") {
gotoAndPlay (1);
}
Ой, не, сори, я не так поняла. :rolleyes: Т.е. никаких мувиков ты не подгружаешь, понятно... Может, кто более шарящий подскажет, я не знаю :(
Не-е-е, ты погоди, не убегай. :) Ты расскажи, тодь как их подгружать, что loadMovie я вроде понял. А как например проверить, что он весь загрузился?
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:
если ты подгружаеш библиотеки отдельными мувами, то могу помочь, смотри как проверка делается:
1. ставишь на сцену отдельно мув для каждого файла и даеш им имена containerXX
2. загружаеш в эти контейнеры свои файлы
containerХХ.loadMovie("FileName.swf");
3. потом просто делаеш проверку на загрузку каждого контейнера
container1.getBytesLoaded() == container1.getBytesTotal()
container1.getBytesTotal() != 0
попробуй может так получиться: на сцене прелоада делаеш запрос библиотек, тоесть, пока не сможет заюзать все библиотеки висиш на сцене прелоада
2 beshan shared library и MX components - разные вещи....
2 Easter
В самом начале загрузи в невидимый мувик свою библиотеку,
для того, чтобы этот файл закешировался у пользователя.
Потом можешь его удалять....
А как, просто сделать обращение к нему?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.