Показать сообщение отдельно
Старый 21.08.2009, 17:41
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
а мой опыт говорит, что считать логику по таймеру отдельно от прорисовки совершенно бесполезно.
Что можно посоветовать.
1. Так как шаг enterFrameHandler непостоянный, то изменять координаты по правилу:
Код:
dt = curTime-prevTime;
shift = curPosition + speed*dt;
т.е. приращение координат зависит от времени, что прошло между двумя кадрами, а не константно.
2. Добавить эффекты размытия. Когда что-то быстро движется в реальном мире - мы видим шлейф за этим предметом. При программировании быстрого перемещения об этом забывают, а так как принципы создания изображения на экране таковы, что что изображение меняется скачками - то перемещение выглядит дерганым и неестественным.
3. Неконстантная скорость. В реальном мире предметы разгоняются, движутся на большой скорости, тормозят. Мгновенное ускорение и мгновенная остановка делают перемещение неестественным. Добавить easing надо.