Показать сообщение отдельно
Старый 25.05.2010, 16:34
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 108  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Чтобы не было скачка?

Есть место начала движения (x0, y0)
Есть скорость (vx, vy)
Есть время начала движения (tb)
Есть текущее время (tc)

Где сейчас (tc) персонаж?
x1 = x0 + vx * (tc - tb)

Где персонаж будет еще через 1 секунду?
x2 = x0 + vx * (tc - tb + 1)

Что можно сделать?
- передвинуть персонажа из x0 в x2 за 1 секунду (то есть его скорость будет больше той, которая должна быть на этом отрезке), а дальше уменьшить скорость до нужной и продолжить движение.
Грубо говоря, скачок координат заменяется на плавное движение с немного большей скоростью, чем доступна клиенту.
__________________
...вселенская грусть