![]() |
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 - семерка |
Цитата:
Цитата:
|
Да. Я купил себе 2004МХ. Но как-то пока и не пробовал. А теперь уже 8й? Млин...
А 8й так и назывется 8й или там типо 2005МХ? В 6м getNextHighestDepth() нет(если не нужно что-то специально делать), а кстати функция swapDepths() очень глюченная. Надеюсь в 8м там получше с Депсами. Часто мне требуется. С классами я пока ничего не знаю. |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
я же не сказал, что 6-ка - оцтой, а 7-ка - руль!
Просто в 7-ке больше возможностей, а заявление Цитата:
|
Цитата:
Открыл. Залез в один из мувиков. Сделал изменения. Залез в другой. Сделал изменения там. Понял что в первом надо вернуть все на место. Но вот не задача, исправить первый клип можно только отменив все дейстия во втором. Цитата:
|
Цитата:
Код был примерно такой this.swapDepths(_x*640+_y*400); Но ведь они должны менятся глубинами, а не перемещаться. А в игре Атака Роботов у меня стоит setMask(или типа того). Так там вообще робот мог внезапно появится, т.е. быть невидимым пока в него не попадёшь(Думаю это было из-за свуэпДепс). И обэекты тоже иногда пропадали. Вобщем в Атака Роботов я отказался от свуэпДепсс. Можно заметить, что вылетающие из далека роботы перекрывают нормальных. К счастью игра хорошая и с этим недочётом. P.S. Новая версия глюченее предыдущей - обычное дело. |
trace(mc.getDepth());//читаем текущий уровень
mc.swapDepths(20);//меняем уровень на 20-й trace(mc.getDepth());//читаем текущий уровень mc._x += 40;//сдвигаем клип(если я правильно тебя понял, то под ним должен быть еще один, но у меня второй не появляется) |
если хочешь сделать легкий первый фрайм с прелоадером, просто у бери экспорт в первом фрейме для всех линкайдж, на первом фрайме преладере который перескакивает на 3 после загрузки а на втором фрейме выложи на тайм лайн все линкайдж которые тебе нужно
|
Цитата:
Спасибо 7thsky™ за то что он сказал... |
Вложений: 1
Я так понял NEO провёл эксперимент с дублированием после свэп депс.
Я тоже попробовал сейчас. Вроде бы окей. Я не знаю почему так было, т.к уже тот движёк исправил. Возможно это глюк конкретно моего флэша был. Уменя глюк если я открываю MovieExplorer потом ищу допустим все переменные mkl+=10 и меняю их, то после сохранения файла все эти изменения не сохраняются, а остаются mkl+=10. Ох. Надеюсь что со свэпДепс действительно не всё так плохо. Может были глюки из-за сочетания с дупликэйтМувик. Знаешь, когда я делаю unloadMovie(); не существующему клипу то он удаляет весь мувик, из которого я это делаю. Т.е. когда удаляешь мувик вложенный в нём. Разве это справедливо? Со звуком тоже были глюки. Типо вложен мувик в мувик. На первом фрейме вложенного мувика звук, далее анимация. Допустим он перескочил на кадр где чувак Айкает. Вроде как кадр со звуком прошёл и анимация пошла, а он мне так звук пускает, как будто я делаю gotoAndPlay(1) на кадр со звуком. 100% недоработка. Этот движёк у меня есть можешь посмотреть. управление 1й игрок правая панель с цифрами 4,8,6, Home,Pgup,End,Pgdn 2й D,R,G E,T(блок, бег) Q,W удар рукой ногой. В воздухе только удар ногой работает. Можешь сделать комбо рукой-рукой-ногой-ногой. |
| Часовой пояс GMT +4, время: 17:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.