![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователь Сообщений: 5 Регистрация: 18.05.2012 Пользователь №: 11002 ![]() |
Здравствуйте, чтобы не начинать swf с начала а переходить на нужный кадр, я подгружаю его в пустой мувик и задаю командуперехода на 55 кадр. все работает, но есть небольшой ньанс.
Когда я таким путем перехожу из одного файла в другой ( в обоих реализован переход на 55 кадр) несколько раз, проект начинает натурально лагать. кнопки туго соображают, скролл с лекцией перестает прокручиваться плавно и начинает слайд шоу(( В чем может быть проблема? Наверно после перехода, предыдущий swf как то выгрузить надо? я получается в один контейнер ( и в первом и во втором файле, контейнер container_mc) загружаю много копий одних и тех же файлов? p.s. капец, специально отрыл диспетчер задач, и после каждого перехода, смотрел вес процесса, действительно, с каждым разом, вдвое увеличивается((( Хелп! как решить? Использую следующий скрипт Цитата this.createEmptyMovieClip('container_mc', 0); container_mc._lockroot = true ; var my_mcl:MovieClipLoader = new MovieClipLoader(); var my_lst:Object = new Object(); my_mcl.addListener(my_lst); stop(); Создаю контейнер и лоадер. _root.Knopaki.Next.onRelease = function() { container_mc.stop(); container_mc.unloadMovie(); my_mcl.loadClip('Lection2.swf', container_mc); }; listener.onLoadInit = function(tgt:MovieClip) { tgt.gotoAndStop(55); }; перехожу ко второй лекции. абсолютно тотот же код написал там, поменял кноку и загружаемый файл. и.....а нифига. Ноль реакции на нажатие. ничего не работает почему то. если я в одном файле создал контейнер, нормально перехожу во второй файл а от туда уже никак. кнопка не реагирует. в чем может быть проблема? |
|
|
![]()
Сообщение
#2
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1083 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
А этот код только в одном файле (оболочке для подгружаемых)? Или нет?
Судя по описанию - похоже на то, что много container_mc создается каждый раз, хотя по коду это не так. Надо трейсить. Или в подгружаемых клипах какая-нибудь хрень на интервалах. Еще один момент - unloadMovie() срабатывает НЕ мгновенно, а при переходе на следующий кадр. В принципе ход верный - нужен именно анлоад, но можно попробовать (в качестве эксперимента) ремув и создание пустого контейнера с нуля (ремув, кстати, срабатывает СРАЗУ). -------------------- |
|
|
![]()
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователь Сообщений: 5 Регистрация: 18.05.2012 Пользователь №: 11002 ![]() |
А этот код только в одном файле (оболочке для подгружаемых)? Или нет? Судя по описанию - похоже на то, что много container_mc создается каждый раз, хотя по коду это не так. Надо трейсить. Или в подгружаемых клипах какая-нибудь хрень на интервалах. Еще один момент - unloadMovie() срабатывает НЕ мгновенно, а при переходе на следующий кадр. В принципе ход верный - нужен именно анлоад, но можно попробовать (в качестве эксперимента) ремув и создание пустого контейнера с нуля (ремув, кстати, срабатывает СРАЗУ). Пробовал писать container_mc.removeMovieClip(); Все равно первый мувик остается активным, даже его кнопки действовать продолжают. А разве нельзя, загрузить в контейнер мувик, лать команду перейти на нужный кадр, а потом выгрузить файл с контейнером ? |
|
|
![]()
Сообщение
#4
|
|
Новичок ![]() Группа: Пользователь Сообщений: 5 Регистрация: 18.05.2012 Пользователь №: 11002 ![]() |
Вот исходники
http://sendfile.su/595517 может по ним кто чего посоветует? |
|
|
![]()
Сообщение
#5
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1083 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Пробовал писать container_mc.removeMovieClip(); Все равно первый мувик остается активным, даже его кнопки действовать продолжают. container_mc должен быть на положительной глубине, чтобы removeMovieClip сработал, а он на уровне 0 сейчас лежит А разве нельзя, загрузить в контейнер мувик, лать команду перейти на нужный кадр, а потом выгрузить файл с контейнером ? Конечно можно. Просто не ясно почему не работает. По идее должно. -------------------- |
|
|
![]()
Сообщение
#6
|
|
Новичок ![]() Группа: Пользователь Сообщений: 5 Регистрация: 18.05.2012 Пользователь №: 11002 ![]() |
Тоесть, контейнер надо на 1 уровне создавать? Сообщение отредактировал KHVshNic - 18.05.2012 - 17:06 |
|
|
![]()
Сообщение
#7
|
|
Новичок ![]() Группа: Пользователь Сообщений: 5 Регистрация: 18.05.2012 Пользователь №: 11002 ![]() |
Сделал немного иначе
Код AS1/AS2 Цитата my_mcl.unloadClip(); var my_mcl:MovieClipLoader = new MovieClipLoader(); var my_lst:Object = new Object(); my_mcl.addListener(my_lst); stop(); _root.Knopaki.PrewLection.onRelease = function() { my_mcl.loadClip('Lection1.swf',0); }; my_lst.onLoadInit = function(tgt:MovieClip) { tgt.gotoAndStop(55); }; Это лучшее чего я смог пока добится, вроде решилась моя проблема с забивкой плеера)) Но такой момент, когда грузится файл, на секунду где то, появляется первый кадр, а уж только потом перепрыгивает на 55. как можно от этого избавиться? чтоб мгновенно на 55? |
|
|
![]()
Сообщение
#8
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4661 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Цитата Тоесть, контейнер надо на 1 уровне создавать? Да, KHVshNic, нужно на 1 уровне. В случае использования removeMovieClip (а когда не нужно убирать мувиклип, тогда можно контейнер создавать и на 0 уровне). Цитата как можно от этого избавиться? чтоб мгновенно на 55? Это инертность коннекта и/или компьютера. Будет скорость выше, то будет выглядеть, что мгновенно происходит переход на 55 кадр (задержки не будет). Чтобы не было видно первого кадра можно использовать различные ухищрения. Например, можно сделать первый кадр пустым и поставить там stop(). И уже после запуска перехода на 55 в дочерней флешке будет показано её содержимое. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 4.10.2012 - 06:08 |