
25.05.2010, 16:34
|
|
блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
|
Чтобы не было скачка?
Есть место начала движения (x0, y0)
Есть скорость (vx, vy)
Есть время начала движения (tb)
Есть текущее время (tc)
Где сейчас (tc) персонаж?
x1 = x0 + vx * (tc - tb)
Где персонаж будет еще через 1 секунду?
x2 = x0 + vx * (tc - tb + 1)
Что можно сделать?
- передвинуть персонажа из x0 в x2 за 1 секунду (то есть его скорость будет больше той, которая должна быть на этом отрезке), а дальше уменьшить скорость до нужной и продолжить движение.
Грубо говоря, скачок координат заменяется на плавное движение с немного большей скоростью, чем доступна клиенту.
__________________
...вселенская грусть
|