Путаница с истекшими секундами.Итоговые секунды

#c# #xna

#c# #xna

Вопрос:

В руководстве Youtube, которое я смотрю о C # XNA, говорится, что для обновления движения с

 position.X  = movespeed * gameTime.ElapsedSeconds.TotalSeconds
  

Это работает, но я этого не понимаю. Конечно, общее количество затраченных секунд будет продолжать увеличиваться, и, следовательно, объект будет двигаться все быстрее и быстрее по мере увеличения общего количества затраченных секунд. Что я здесь недопонимаю? Почему он остается на постоянной скорости?

Ответ №1:

Из MSDN:

[Время игры.Свойство ElapsedGameTime] — это количество игрового времени, прошедшего с момента последнего обновления.

Таким образом, это значение будет сбрасываться при каждом обновлении, а не продолжать с нуля до того, как долго игра была запущена. Ваше беспокойство было бы обоснованным, если бы вместо этого вы использовали свойство TotalGameTime.