|
|
|||||
Регистрация: May 2009
Сообщений: 27
|
Странные подергивания при движении
Ребят, есть следующая особенность.. У меня реализовано движение ленты при наведении на нее курсора мыши. Скорость меняется. Все работает. Работает плавно, НО! в равные промежутки времени возникает подергивание.. такое ощущение, что что-то не успевает обрабатываться.. Либо это такой косяк обработки во флэш, либо я не знаю, в чем дело.. Но координаты при смещении обновляются абсолютно одинаково. При этом данных косяк подергивания возникает с одним и тем же временным промежутком и может возникать в ЛЮБОМ месте ленты, даже в том, в котором она двигалась плавно в предыдущих случаях.. Что это за фигня такая?
|
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Боюсь так вряд ли кто подскажет в чем дело.
Я бы предположил что код по движению ленты висит на EnterFrame, вот только не все при этом учитывают что реальная скорость между кадрами постоянно меняется. Когда исполняется какой то код обновления экрана не происходит. Вот и получается задержка. В книжках советуют рассчитывать смещения по скорости относительно последнего времени обновления, тогда экран будет обновляться независимо от вашего кода и дерганий должно быть поменьше, но это при условии что никаких конечно трудоемких операций не происходит которые будут отвлекать флэш от вашей анимации
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
Цитата:
__________________
Оптимизация производительности на уровне кода |
|
|||||
Регистрация: May 2009
Сообщений: 27
|
так какой выход? каким образом двигать мувиклип, чтобы происходило обновление клипа в целом?
|
|
|||||
iCanary, возможно, что в конце цикла анимации (а так понял что лента движется "по кругу") сетятся значения координат равных стартовому значению, получается что 2 итерации лента стоит в одном месте... попробуйте заканчивать цикл немного раньше.
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Заводим скорость в качестве параметра, вектор движения, и переменную счетчика времени. Делаем через таймер или в том же EnterFrame, это уж кому как больше нравится метод, который будет менять координату вашей ленты. В методе первым делом двигаем ленту и запоминаем время и координаты последнего смещения. При входе в метод в следующий раз получаем текущее время, смотрим сколько прошло с последнего обновления и по скорости и вектору считаем новые координаты на разницу во времени. Далее заоминаем координаты и время для следующего шага и повторяем все по новой.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
Регистрация: May 2009
Сообщений: 173
|
Цитата:
Может кто подробнее обьяснить ? саму суть почему происходить подергивание ! |
Часовой пояс GMT +4, время: 11:09. |
|
« Предыдущая тема | Следующая тема » |
|
|