LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Хочу двигать персонаж

не персонаж а персонажа

Из трех экспериментов видно, что чем быстрее я хочу переместиться, то тем дальше перелетаю требуемую конечную точку.

Выводи рядом с временем ещё и текущую координату и наглядно всё увидишь.

А вообще - ты делаешь два лишних шага, возьмём к примеру вот:

now_T - last_T_move = 2.1999640
now_T - last_T_move = 2.2166250

2.1999 это округлённое 2.2 и ты должен был остановиться уже к моменту наступления этого времени. Вместо этого ты считаешь, во-первых, что 2.199<2.2 и делаешь лишний шаг, а потом на 2.216 делаешь ещё один шаг т.к. у тебя сначала делается шаг и только потом проверяется время.

Соответственно, во-первых поставь проверку времени до того, как увеличиваешь координату, а не после, а во-вторых, чтобы разом убрать все ошибки округлений, считай всё в тиках сразу а не в секундах.

Исправление firkax, :

Хочу двигать персонаж

не персонаж а персонажа

Из трех экспериментов видно, что чем быстрее я хочу переместиться, то тем дальше перелетаю требуемую конечную точку.

Выводи рядом с временем ещё и текущую координату и наглядно всё увидишь.

А вообще - ты делаешь два лишних шага, возьмём к примеру вот:

now_T - last_T_move = 2.1999640
now_T - last_T_move = 2.2166250

2.1999 это на округлённое 2.2 и ты должен был остановиться уже к моменту наступления этого времени. Вместо этого ты считаешь, во-первых, что 2.199<2.2 и делаешь лишний шаг, а потом на 2.216 делаешь ещё один шаг т.к. у тебя сначала делается шаг и только потом проверяется время.

Соответственно, во-первых поставь проверку времени до того, как увеличиваешь координату, а не после, а во-вторых, чтобы разом убрать все ошибки округлений, считай всё в тиках сразу а не в секундах.

Исправление firkax, :

Хочу двигать персонаж

не персонаж а персонажа

Из трех экспериментов видно, что чем быстрее я хочу переместиться, то тем дальше перелетаю требуемую конечную точку.

Выводи рядом с временем ещё и текущую координату и наглядно всё увидишь.

А вообще - ты делаешь два лишних шага, возьмём к примеру вот:

now_T - last_T_move = 2.1999640
now_T - last_T_move = 2.2166250

2.1999 это на округлённое 2.2 и ты должен был остановиться уже к моменту наступления этого времени. Вместо этого ты считаешь, во-первых, что 2.199<2.2 и делаешь лишний шаг, а потом на 2.216 делаешь ещё один шаг т.к. у тебя сначала делается шаг и только потом проверяется время.

Исходная версия firkax, :

Хочу двигать персонаж

не персонаж а персонажа

Из трех экспериментов видно, что чем быстрее я хочу переместиться, то тем дальше перелетаю требуемую конечную точку.

Выводи рядом с временем ещё и текущую координату и наглядно всё увидишь.

А вообще - ты делаешь два лишних шага, возьмём к примеру вот:

now_T - last_T_move = 2.1999640
now_T - last_T_move = 2.2166250

ты 2.1999 это 2.2 и ты должен был остановиться уже к моменту наступления этого времени. Вместо этого ты считаешь, во-первых, что 2.199<2.2 и делаешь лишний шаг, а потом на 2.216 делаешь ещё один шаг т.к. у тебя сначала делается шаг и только потом проверяется время.