![]() |
Помогите разобраться с подтормаживанием ролика
Ролик представляет из себя ротацию надписей, которые вылетают из центра ролика в случайных направлениях и на случайное расстояние, потом гаснут. Проблема в том, что ролик какое-то время работает гладко, потом замирает (останавливается движение всех надписей), потом все продолжается штатно. Из-за этих задержек все выглядит неаккуратненько. Особенно проявляется в FireFox с десятым плеером от Адобе.
Реализовал я все это на Movieclip tweening prototypes 1.2.0, ссылка на исходник: http://laco.wz.cz/tween Код скрипта, который обеспечивает ротацию: Код AS1/AS2:
Это, собственно, уже третий вариант. Во втором варианте я не задавал мувики заранее, в создавал непосредственно внутри функции showOneLabel (передавал туда дополнительно id прототипа, который надо аттачить). Тоже подтормаживало. В первом варианте использовал класс Tween, идущий в поставке, но там нет возможности изменять два параметра сразу, поэтому взял этот класс. Впрочем, Tween тоже подтормаживал. Нужен совет, как заставить все это двигаться гладко. |
Может iLevel постоянно растет и не обнуляется?
|
МихаилК, а что значит - аттачатся надписи из библиотеки?... они в каком виде там лежат?... у меня была подобная проблема с размножение мувиков - я в мувике в последнем кадре прописала - this.removeMovieClip(); может эта информация вам чем-то поможет:)
|
аттачатся - в том смысле, что в начале (до запуска ротации) отрабатывает такой код:
Код AS1/AS2:
Каждый прототип в библиотеке - это шрифтовая надпись, переведенная в кривые (ctrl-D дважды) и сконвертированная в символ. |
МихаилК если у вас прототипы это мувики - сделайте как я сказала и проблем не будет... просто когда все это богатство грузится setInterval мозги у компьютера реально ломаются...
|
Они грузятся до ротации и по сетИнтервалу они просто гоняются плюс манипуляции с альфой.
У меня есть подозрение, что дело действительно в сетИнтервале. Может поставить 24 кадра в секунду и в каждый четвертый кадр запихать вызов функции, которая запускает очередной мувик? |
... а почему все-таки не добавить в последний кадр каждого мувика this.removeMovieClip()?... если вам думается что это не корректно - зря! это хороший метод... а про 24 кадра в секунду... ну там-же и не в секунду вовсе... там какая-то мутная история - я к тому, что к ним лучше не сильно привязываться:)
|
Функция в функции? Вообще не в курсе тонкостей работы, но здравый смысл подсказывает, что hideLabel() - локальная функция, короче она умрет после конца родительской функции.
iLevel - не определенно. slideTo, alphaTo - реализации не видно. UPD: проглядел ссылку) |
hideLabel - callback-функция, iLevel - ставится нулем в начале, потом растет
> а почему все-таки не добавить в последний кадр каждого мувика this.removeMovieClip()?. У меня так было сделано в самом первом варианте. Каждый раз при вызове showOneLabel() создавался пустой клип, куда аттачился клип из библиотеки, в конце по событию окончания движения отрабатывался removeMovieClip (только не изнутри, а снаружи). Эффект с задержкой был тот же самый, почему я и решил в итоге загрузить лэйблы предварительно, а не грузить их во время выполнения. На самом деле, глюк с замиранием воспроизведения наблюдается только в ФФоксе (в частности, с десятым плеером от адобе). В ИЕ задержек нет. |
| Часовой пояс GMT +4, время: 02:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.