Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.05.2009, 12:47
iCanary вне форума Посмотреть профиль Отправить личное сообщение для iCanary Найти все сообщения от iCanary
  № 1  
Ответить с цитированием
iCanary

Регистрация: May 2009
Сообщений: 27
Question Странные подергивания при движении

Ребят, есть следующая особенность.. У меня реализовано движение ленты при наведении на нее курсора мыши. Скорость меняется. Все работает. Работает плавно, НО! в равные промежутки времени возникает подергивание.. такое ощущение, что что-то не успевает обрабатываться.. Либо это такой косяк обработки во флэш, либо я не знаю, в чем дело.. Но координаты при смещении обновляются абсолютно одинаково. При этом данных косяк подергивания возникает с одним и тем же временным промежутком и может возникать в ЛЮБОМ месте ленты, даже в том, в котором она двигалась плавно в предыдущих случаях.. Что это за фигня такая?

Старый 22.05.2009, 14:25
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 2  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Боюсь так вряд ли кто подскажет в чем дело.
Я бы предположил что код по движению ленты висит на EnterFrame, вот только не все при этом учитывают что реальная скорость между кадрами постоянно меняется. Когда исполняется какой то код обновления экрана не происходит. Вот и получается задержка. В книжках советуют рассчитывать смещения по скорости относительно последнего времени обновления, тогда экран будет обновляться независимо от вашего кода и дерганий должно быть поменьше, но это при условии что никаких конечно трудоемких операций не происходит которые будут отвлекать флэш от вашей анимации
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 22.05.2009, 16:12
_Smirnoff вне форума Посмотреть профиль Отправить личное сообщение для _Smirnoff Найти все сообщения от _Smirnoff
  № 3  
Ответить с цитированием
_Smirnoff
 
Аватар для _Smirnoff

блогер
Регистрация: Jul 2007
Адрес: Russia
Сообщений: 292
Записей в блоге: 5
Цитата:
Сообщение от SunShadow Посмотреть сообщение
В книжках советуют рассчитывать смещения по скорости относительно последнего времени обновления, тогда экран будет обновляться независимо от вашего кода и дерганий должно быть поменьше, но это при условии что никаких конечно трудоемких операций не происходит которые будут отвлекать флэш от вашей анимации
Какие именно книжки? В данный момент очень актуален вопрос скрола
__________________
Оптимизация производительности на уровне кода

Старый 22.05.2009, 17:06
iCanary вне форума Посмотреть профиль Отправить личное сообщение для iCanary Найти все сообщения от iCanary
  № 4  
Ответить с цитированием
iCanary

Регистрация: May 2009
Сообщений: 27
Цитата:
Сообщение от SunShadow Посмотреть сообщение
... тогда экран будет обновляться независимо от вашего кода и дерганий должно быть поменьше, но это при условии что никаких конечно трудоемких операций не происходит которые будут отвлекать флэш от вашей анимации
так какой выход? каким образом двигать мувиклип, чтобы происходило обновление клипа в целом?

Старый 22.05.2009, 18:23
divinus вне форума Посмотреть профиль Отправить личное сообщение для divinus Найти все сообщения от divinus
  № 5  
Ответить с цитированием
divinus
 
Аватар для divinus

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
iCanary, возможно, что в конце цикла анимации (а так понял что лента движется "по кругу") сетятся значения координат равных стартовому значению, получается что 2 итерации лента стоит в одном месте... попробуйте заканчивать цикл немного раньше.
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 22.05.2009, 21:55
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 6  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Заводим скорость в качестве параметра, вектор движения, и переменную счетчика времени. Делаем через таймер или в том же EnterFrame, это уж кому как больше нравится метод, который будет менять координату вашей ленты. В методе первым делом двигаем ленту и запоминаем время и координаты последнего смещения. При входе в метод в следующий раз получаем текущее время, смотрим сколько прошло с последнего обновления и по скорости и вектору считаем новые координаты на разницу во времени. Далее заоминаем координаты и время для следующего шага и повторяем все по новой.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 12.06.2009, 19:01
_moscow вне форума Посмотреть профиль Отправить личное сообщение для _moscow Найти все сообщения от _moscow
  № 7  
Ответить с цитированием
_moscow
 
Аватар для _moscow

Регистрация: May 2009
Сообщений: 173
Цитата:
Сообщение от SunShadow Посмотреть сообщение
Заводим скорость в качестве параметра, вектор движения, и переменную счетчика времени. Делаем через таймер или в том же EnterFrame, это уж кому как больше нравится метод, который будет менять координату вашей ленты. В методе первым делом двигаем ленту и запоминаем время и координаты последнего смещения. При входе в метод в следующий раз получаем текущее время, смотрим сколько прошло с последнего обновления и по скорости и вектору считаем новые координаты на разницу во времени. Далее заоминаем координаты и время для следующего шага и повторяем все по новой.

Может кто подробнее обьяснить ? саму суть почему происходить подергивание !

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.