![]() |
AttachMovie и прелоадер(чтобы как можно раньше начался)
АтачМуви удобная функция, но я использую в основном Дубликэйт, потому что когда мувик грузится, то сначала я так понимаю грузятся linkage export for action script мувики. Особенно это касается звука, кот. может быть 500+ кб.
А можно ли сделать, чтобы всё таки флэш сначала первый кадр с прелоадером загрузил, а потом уже всё остальное.?? А то получается первые 150кб висит пустой экран. Update: Наконец-то я разобрался :) Там когда ставишь Linkage стоит галочка по умолчанию Export in first frame! Галочку нужно убрать. Теперь я снова буду использовать attachMovie Update: Ещё немаловажно то, что все мувики которые планируется АтачМуви загружать должны где-то в уже присутствовать в timeline. Может я опять чего не понял, но у меня если их в на линейке, то они и не загружаются. |
запихни лоадер в библиотеку! а вообще влэш сам выставляет что он поставит в начало свф и обычно он выставляет как раз те элементы, которые раньше всего будут требоваться.
|
чтоб быстрее начался, лучше всего использовать внешний прелоадер!
|
Цитата:
|
Цитата:
Поэтому я и советую сделать отдельным свф прелоадер, а потом в него грузить все остальное! |
Цитата:
|
Цитата:
делаем так: 1) Цитата:
2)делаем новый свф в котором пишем что-то вроде: this.createEmptyMovieClip("preloader_mc", this.getNextHighestDepth()); this.preloader_mc.createTextField("percentReadout_txt", this.preloader_mc.getNextHighestDepth(), 0, 0, 50, 20); //_root.attachMovie("preloader", "preloader_mc", 0); preloader_mc._x = 300; preloader_mc._y = 200; var s = this.createEmptyMovieClip("swfProxy_mc", 1); var my_mcl = new MovieClipLoader(); myListener = new Object(); myListener.onLoadStart = function(target_mc) { var loadProgress = my_mcl.getProgress(target_mc); var percent = "0"; preloader_mc.percentReadout_txt.text = percent+"%"; }; myListener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) { var percent = Math.round(loadedBytes/totalBytes*100); preloader_mc.percentReadout_txt.text = percent+"%"; }; myListener.onLoadComplete = function(target_mc) { var loadProgress = my_mcl.getProgress(target_mc); var percent = Math.round(loadProgress.bytesLoaded/loadProgress.bytesTotal*100); preloader_mc.percentReadout_txt.text = "done"; }; myListener.onLoadInit = function(target_mc) { target_mc.play(); _root.preloader_mc.removeMovieClip(); }; my_mcl.addListener(myListener); my_mcl.loadClip("http://.../my_swf.swf?"+Math.random()*100, s); |
Хм... Внешний прелоадер. Надо попробовать, но это не очень хороший вариант. Когда мои игрушки будут ставить на других сайтах, там вообще прелоадера не будет.
Наконец-то я разобрался! Там когда ставишь Linkage стоит галочка по умолчанию Export in first frame! Так я думал, что это значит, что мувик будет загружаться и играться с первого кадра. P.S. Neo ты код писал для AS2? Я пока на флэш МХ. У меня таких штуковин, как getNextHighestDepth() loadClip() нету :( Спасибо! |
getNextHighestDepth() - это шестерка,
класс MovieClipLoader - семерка |
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 16:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.